6
6
<link href="doxygen.css" rel="stylesheet" type="text/css">
9
<!-- Generated by Doxygen 1.7.1 -->
10
<div class="navigation" id="top">
9
<!-- Generated by Doxygen 1.7.3 -->
10
<div id="navrow1" class="tabs">
12
11
<ul class="tablist">
13
<li><a href="main.html"><span>Main Page</span></a></li>
14
<li><a href="annotated.html"><span>Data Structures</span></a></li>
12
<li><a href="index.html"><span>Main Page</span></a></li>
13
<li><a href="annotated.html"><span>Data Structures</span></a></li>
15
14
<li class="current"><a href="files.html"><span>Files</span></a></li>
17
<div id="navrow2" class="tabs2">
19
18
<ul class="tablist">
20
<li><a href="files.html"><span>File List</span></a></li>
19
<li><a href="files.html"><span>File List</span></a></li>
21
20
<li><a href="globals.html"><span>Globals</span></a></li>
24
<div id="side-nav" class="ui-resizable side-nav-resizable">
26
<div id="nav-tree-contents">
29
<div id="splitbar" style="-moz-user-select:none;"
30
class="ui-resizable-handle">
33
<script type="text/javascript">
34
initNavTree('usb-other_8c.html','');
36
<div id="doc-content">
25
37
<div class="header">
26
38
<div class="summary">
27
39
<a href="#define-members">Defines</a> |
30
42
<h1>usb-other.c File Reference</h1> </div>
32
44
<div class="contents">
33
<code>#include "<a class="el" href="usb-private_8h_source.html">usb-private.h</a>"</code><br/>
45
<div class="textblock"><code>#include "<a class="el" href="usb-private_8h_source.html">usb-private.h</a>"</code><br/>
34
46
<code>#include "<a class="el" href="dmxinputinit_8h_source.html">dmxinputinit.h</a>"</code><br/>
35
47
<code>#include "<a class="el" href="usb-other_8h_source.html">usb-other.h</a>"</code><br/>
36
<table class="memberdecls">
48
</div><table class="memberdecls">
37
49
<tr><td colspan="2"><h2><a name="define-members"></a>
38
50
Defines</h2></td></tr>
39
<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>
40
<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>
41
<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>
42
<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>
43
<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>
44
<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>
45
<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>
46
<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>
47
<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>
48
<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>
49
<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>
50
<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>
51
<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>
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>
52
64
<tr><td colspan="2"><h2><a name="func-members"></a>
53
65
Functions</h2></td></tr>
54
<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>
55
<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>
56
<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>
57
<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>
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>
59
71
<hr/><a name="_details"></a><h2>Detailed Description</h2>
60
<p>This code implements a low-level device driver for a non-keyboard, non-mouse USB device (e.g., a joystick or gamepad). </p>
61
<hr/><h2>Define Documentation</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>
62
74
<a class="anchor" id="a52220397ecea855b3a99746e451426e1"></a><!-- doxytag: member="usb-other.c::BLOCK" ref="a52220397ecea855b3a99746e451426e1" args="" -->
63
75
<div class="memitem">
64
76
<div class="memproto">
65
77
<table class="memname">
67
<td class="memname">#define BLOCK <a class="el" href="dmxinput_8h.html#a3a7195ab3516c5354bac4ca80b2eedb7">DMXBlockType</a></td>
79
<td class="memname">#define BLOCK   <a class="el" href="dmxinput_8h.html#a3a7195ab3516c5354bac4ca80b2eedb7">DMXBlockType</a></td>
277
289
<td class="memname">#define LOG3</td>
279
<td class="paramtype"> </td>
291
<td class="paramtype"> </td>
280
292
<td class="paramname">f, </td>
283
295
<td class="paramkey"></td>
285
<td class="paramtype"> </td>
297
<td class="paramtype"> </td>
286
298
<td class="paramname">a, </td>
289
301
<td class="paramkey"></td>
291
<td class="paramtype"> </td>
303
<td class="paramtype"> </td>
292
304
<td class="paramname">b, </td>
295
307
<td class="paramkey"></td>
297
<td class="paramtype"> </td>
298
<td class="paramname">c</td><td> </td>
309
<td class="paramtype"> </td>
310
<td class="paramname">c </td>
303
<td></td><td></td><td> dmxLog(dmxDebug,f,a,b,c)</td>
315
<td></td><td>   dmxLog(dmxDebug,f,a,b,c)</td>
348
359
<td class="memname">void othUSBGetInfo </td>
350
<td class="paramtype">DevicePtr </td>
351
<td class="paramname"> <em>pDev</em>, </td>
361
<td class="paramtype">DevicePtr </td>
362
<td class="paramname"><em>pDev</em>, </td>
354
365
<td class="paramkey"></td>
356
<td class="paramtype"><a class="el" href="struct__DMXLocalInitInfo.html">DMXLocalInitInfoPtr</a> </td>
357
<td class="paramname"> <em>info</em></td><td> </td>
367
<td class="paramtype"><a class="el" href="struct__DMXLocalInitInfo.html">DMXLocalInitInfoPtr</a> </td>
368
<td class="paramname"><em>info</em> </td>
362
<td></td><td></td><td></td>
366
377
<div class="memdoc">
367
378
<p>Fill the <em>info</em> structure with information needed to initialize <em>pDev</em>. </p>
369
<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="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>
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>
422
431
<td class="memname">void othUSBRead </td>
424
<td class="paramtype">DevicePtr </td>
425
<td class="paramname"> <em>pDev</em>, </td>
428
<td class="paramkey"></td>
430
<td class="paramtype">MOTIONPROC </td>
431
<td class="paramname"> <em>motion</em>, </td>
434
<td class="paramkey"></td>
436
<td class="paramtype">ENQUEUEPROC </td>
437
<td class="paramname"> <em>enqueue</em>, </td>
440
<td class="paramkey"></td>
442
<td class="paramtype">CHECKPROC </td>
443
<td class="paramname"> <em>checkspecial</em>, </td>
446
<td class="paramkey"></td>
448
<td class="paramtype">BLOCK </td>
449
<td class="paramname"> <em>block</em></td><td> </td>
433
<td class="paramtype">DevicePtr </td>
434
<td class="paramname"><em>pDev</em>, </td>
437
<td class="paramkey"></td>
439
<td class="paramtype">MOTIONPROC </td>
440
<td class="paramname"><em>motion</em>, </td>
443
<td class="paramkey"></td>
445
<td class="paramtype">ENQUEUEPROC </td>
446
<td class="paramname"><em>enqueue</em>, </td>
449
<td class="paramkey"></td>
451
<td class="paramtype">CHECKPROC </td>
452
<td class="paramname"><em>checkspecial</em>, </td>
455
<td class="paramkey"></td>
457
<td class="paramtype">BLOCK </td>
458
<td class="paramname"><em>block</em> </td>
454
<td></td><td></td><td></td>