Home | History | Annotate | Line # | Download | only in html
      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&#160;Page</span></a></li>
     13       <li><a href="annotated.html"><span>Data&#160;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&#160;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('lnx-ms_8c.html','');
     35 </script>
     36 <div id="doc-content">
     37 <div class="header">
     38   <div class="summary">
     39 <a href="#nested-classes">Data Structures</a> &#124;
     40 <a href="#define-members">Defines</a> &#124;
     41 <a href="#typedef-members">Typedefs</a> &#124;
     42 <a href="#func-members">Functions</a>  </div>
     43   <div class="headertitle">
     44 <div class="title">lnx-ms.c File Reference</div>  </div>
     45 </div>
     46 <div class="contents">
     47 <div class="textblock"><code>#include &quot;inputstr.h&quot;</code><br/>
     48 <code>#include &lt;X11/Xos.h&gt;</code><br/>
     49 <code>#include &lt;errno.h&gt;</code><br/>
     50 <code>#include &lt;termios.h&gt;</code><br/>
     51 <code>#include &quot;<a class="el" href="dmxinputinit_8h_source.html">dmxinputinit.h</a>&quot;</code><br/>
     52 <code>#include &quot;<a class="el" href="lnx-ms_8h_source.html">lnx-ms.h</a>&quot;</code><br/>
     53 </div><table class="memberdecls">
     54 <tr><td colspan="2"><h2><a name="nested-classes"></a>
     55 Data Structures</h2></td></tr>
     56 <tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__myPrivate.html">_myPrivate</a></td></tr>
     57 <tr><td colspan="2"><h2><a name="define-members"></a>
     58 Defines</h2></td></tr>
     59 <tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-ms_8c.html#aacf069d346230dd96812d5395728eef2">GETPRIV</a></td></tr>
     60 <tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-ms_8c.html#a837722a322e811d5e42242655f277b87">LOG0</a>(f)&#160;&#160;&#160;dmxLog(dmxDebug,f)</td></tr>
     61 <tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-ms_8c.html#aab4b3434c36117a2ecdddec40716d97a">LOG1</a>(f, a)&#160;&#160;&#160;dmxLog(dmxDebug,f,a)</td></tr>
     62 <tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-ms_8c.html#a16da5d597d9bfb9e569a9bfb6996382c">LOG2</a>(f, a, b)&#160;&#160;&#160;dmxLog(dmxDebug,f,a,b)</td></tr>
     63 <tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-ms_8c.html#a8247f0bca25789d2ac27674eb26e223f">LOG3</a>(f, a, b, c)&#160;&#160;&#160;dmxLog(dmxDebug,f,a,b,c)</td></tr>
     64 <tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-ms_8c.html#a6bce6020b913db8afe5d94bc63d1b355">FATAL0</a>(f)&#160;&#160;&#160;dmxLog(dmxFatal,f)</td></tr>
     65 <tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-ms_8c.html#a11bcea7c6bc7dbe400a3855f5b8676ce">FATAL1</a>(f, a)&#160;&#160;&#160;dmxLog(dmxFatal,f,a)</td></tr>
     66 <tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-ms_8c.html#a7952c9e9fe9c75be4964fc53a4299183">FATAL2</a>(f, a, b)&#160;&#160;&#160;dmxLog(dmxFatal,f,a,b)</td></tr>
     67 <tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-ms_8c.html#a11a17082bee3b1b8217ce8a12adcf814">MOTIONPROC</a>&#160;&#160;&#160;<a class="el" href="dmxinputinit_8h.html#a1279820425966adabf5c77357e4a289c">dmxMotionProcPtr</a></td></tr>
     68 <tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-ms_8c.html#a017080ce5e42667a6582cf858e7185cd">ENQUEUEPROC</a>&#160;&#160;&#160;<a class="el" href="dmxinputinit_8h.html#adbd955b9ddbc5ffe38ff65e3f068f205">dmxEnqueueProcPtr</a></td></tr>
     69 <tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-ms_8c.html#aa35a985e998ad5e2187e13434dca118a">CHECKPROC</a>&#160;&#160;&#160;<a class="el" href="dmxinputinit_8h.html#a838cb45fd92d5cf506e4179b601f7dbc">dmxCheckSpecialProcPtr</a></td></tr>
     70 <tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-ms_8c.html#a52220397ecea855b3a99746e451426e1">BLOCK</a>&#160;&#160;&#160;<a class="el" href="dmxinput_8h.html#a3a7195ab3516c5354bac4ca80b2eedb7">DMXBlockType</a></td></tr>
     71 <tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-ms_8c.html#a7581da9bfd7ebf4fe3703352df521931">PRESS</a>(b)</td></tr>
     72 <tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-ms_8c.html#a2b4d2480737f9eb52f80998518486f01">RELEASE</a>(b)</td></tr>
     73 <tr><td colspan="2"><h2><a name="typedef-members"></a>
     74 Typedefs</h2></td></tr>
     75 <tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct__myPrivate.html">_myPrivate</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-ms_8c.html#a25692217bddf2b6c089525b325afccf1">myPrivate</a></td></tr>
     76 <tr><td colspan="2"><h2><a name="func-members"></a>
     77 Functions</h2></td></tr>
     78 <tr><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-ms_8c.html#a71addb6f47215d1e4bf1452fdeeb5081">msLinuxReadBytes</a> (int fd, unsigned char *buf, int len, int min)</td></tr>
     79 <tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-ms_8c.html#a40d253404cd0db2e90bf9e3e6957d2a5">msLinuxButton</a> (DevicePtr pDev, ENQUEUEPROC enqueue, int buttons, BLOCK block)</td></tr>
     80 <tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-ms_8c.html#abad8a6240d6769094e70b92f5d8b72d4">msLinuxRead</a> (DevicePtr pDev, MOTIONPROC motion, ENQUEUEPROC enqueue, CHECKPROC checkspecial, BLOCK block)</td></tr>
     81 <tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-ms_8c.html#a0afb23673c5b1bc695c09f3f3bd75a4b">msLinuxInit</a> (DevicePtr pDev)</td></tr>
     82 <tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-ms_8c.html#ad8f116275f80b5143bc6fe8806cf1298">msLinuxOn</a> (DevicePtr pDev)</td></tr>
     83 <tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-ms_8c.html#a834a356a0e28d90699a8178154588e09">msLinuxOff</a> (DevicePtr pDev)</td></tr>
     84 <tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-ms_8c.html#a04f66d21af929f125fa7d524883700d5">msLinuxGetMap</a> (DevicePtr pDev, unsigned char *<a class="el" href="usb-keyboard_8c.html#a2187a19657fb0b38c67dbafc7dd74c4d">map</a>, int *nButtons)</td></tr>
     85 <tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-ms_8c.html#a1ce83df54082f3196ac29e36dea47fc5">msLinuxVTPreSwitch</a> (pointer p)</td></tr>
     86 <tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-ms_8c.html#af83993c8cc498cbd9f91737beefb5ea3">msLinuxVTPostSwitch</a> (pointer p)</td></tr>
     87 <tr><td class="memItemLeft" align="right" valign="top">pointer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-ms_8c.html#a7d7777681993bc701468245e42c04282">msLinuxCreatePrivate</a> (DeviceIntPtr pMouse)</td></tr>
     88 <tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-ms_8c.html#a570d96862061388c5649972b2fa22d75">msLinuxDestroyPrivate</a> (pointer priv)</td></tr>
     89 <tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-ms_8c.html#ad650b3779315db603085a045405c9d9a">msLinuxGetInfo</a> (DevicePtr pDev, <a class="el" href="struct__DMXLocalInitInfo.html">DMXLocalInitInfoPtr</a> info)</td></tr>
     90 </table>
     91 <hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
     92 <div class="textblock"><p>This code implements a low-level device driver for a serial MS mouse. The code is derived from code by Juliusz Chroboczek and Keith Packard (see the source code for complete references). </p>
     93 </div><hr/><h2>Define Documentation</h2>
     94 <a class="anchor" id="a52220397ecea855b3a99746e451426e1"></a><!-- doxytag: member="lnx&#45;ms.c::BLOCK" ref="a52220397ecea855b3a99746e451426e1" args="" -->
     95 <div class="memitem">
     96 <div class="memproto">
     97       <table class="memname">
     98         <tr>
     99           <td class="memname">#define BLOCK&#160;&#160;&#160;<a class="el" href="dmxinput_8h.html#a3a7195ab3516c5354bac4ca80b2eedb7">DMXBlockType</a></td>
    100         </tr>
    101       </table>
    102 </div>
    103 <div class="memdoc">
    104 
    105 </div>
    106 </div>
    107 <a class="anchor" id="aa35a985e998ad5e2187e13434dca118a"></a><!-- doxytag: member="lnx&#45;ms.c::CHECKPROC" ref="aa35a985e998ad5e2187e13434dca118a" args="" -->
    108 <div class="memitem">
    109 <div class="memproto">
    110       <table class="memname">
    111         <tr>
    112           <td class="memname">#define CHECKPROC&#160;&#160;&#160;<a class="el" href="dmxinputinit_8h.html#a838cb45fd92d5cf506e4179b601f7dbc">dmxCheckSpecialProcPtr</a></td>
    113         </tr>
    114       </table>
    115 </div>
    116 <div class="memdoc">
    117 
    118 </div>
    119 </div>
    120 <a class="anchor" id="a017080ce5e42667a6582cf858e7185cd"></a><!-- doxytag: member="lnx&#45;ms.c::ENQUEUEPROC" ref="a017080ce5e42667a6582cf858e7185cd" args="" -->
    121 <div class="memitem">
    122 <div class="memproto">
    123       <table class="memname">
    124         <tr>
    125           <td class="memname">#define ENQUEUEPROC&#160;&#160;&#160;<a class="el" href="dmxinputinit_8h.html#adbd955b9ddbc5ffe38ff65e3f068f205">dmxEnqueueProcPtr</a></td>
    126         </tr>
    127       </table>
    128 </div>
    129 <div class="memdoc">
    130 
    131 </div>
    132 </div>
    133 <a class="anchor" id="a6bce6020b913db8afe5d94bc63d1b355"></a><!-- doxytag: member="lnx&#45;ms.c::FATAL0" ref="a6bce6020b913db8afe5d94bc63d1b355" args="(f)" -->
    134 <div class="memitem">
    135 <div class="memproto">
    136       <table class="memname">
    137         <tr>
    138           <td class="memname">#define FATAL0</td>
    139           <td>(</td>
    140           <td class="paramtype">&#160;</td>
    141           <td class="paramname">f</td><td>)</td>
    142           <td>&#160;&#160;&#160;dmxLog(dmxFatal,f)</td>
    143         </tr>
    144       </table>
    145 </div>
    146 <div class="memdoc">
    147 
    148 </div>
    149 </div>
    150 <a class="anchor" id="a11bcea7c6bc7dbe400a3855f5b8676ce"></a><!-- doxytag: member="lnx&#45;ms.c::FATAL1" ref="a11bcea7c6bc7dbe400a3855f5b8676ce" args="(f, a)" -->
    151 <div class="memitem">
    152 <div class="memproto">
    153       <table class="memname">
    154         <tr>
    155           <td class="memname">#define FATAL1</td>
    156           <td>(</td>
    157           <td class="paramtype">&#160;</td>
    158           <td class="paramname">f, </td>
    159         </tr>
    160         <tr>
    161           <td class="paramkey"></td>
    162           <td></td>
    163           <td class="paramtype">&#160;</td>
    164           <td class="paramname">a&#160;</td>
    165         </tr>
    166         <tr>
    167           <td></td>
    168           <td>)</td>
    169           <td></td><td>&#160;&#160;&#160;dmxLog(dmxFatal,f,a)</td>
    170         </tr>
    171       </table>
    172 </div>
    173 <div class="memdoc">
    174 
    175 <p>Referenced by <a class="el" href="lnx-ms_8h.html#a0afb23673c5b1bc695c09f3f3bd75a4b">msLinuxInit()</a>, and <a class="el" href="lnx-ms_8h.html#ad8f116275f80b5143bc6fe8806cf1298">msLinuxOn()</a>.</p>
    176 
    177 </div>
    178 </div>
    179 <a class="anchor" id="a7952c9e9fe9c75be4964fc53a4299183"></a><!-- doxytag: member="lnx&#45;ms.c::FATAL2" ref="a7952c9e9fe9c75be4964fc53a4299183" args="(f, a, b)" -->
    180 <div class="memitem">
    181 <div class="memproto">
    182       <table class="memname">
    183         <tr>
    184           <td class="memname">#define FATAL2</td>
    185           <td>(</td>
    186           <td class="paramtype">&#160;</td>
    187           <td class="paramname">f, </td>
    188         </tr>
    189         <tr>
    190           <td class="paramkey"></td>
    191           <td></td>
    192           <td class="paramtype">&#160;</td>
    193           <td class="paramname">a, </td>
    194         </tr>
    195         <tr>
    196           <td class="paramkey"></td>
    197           <td></td>
    198           <td class="paramtype">&#160;</td>
    199           <td class="paramname">b&#160;</td>
    200         </tr>
    201         <tr>
    202           <td></td>
    203           <td>)</td>
    204           <td></td><td>&#160;&#160;&#160;dmxLog(dmxFatal,f,a,b)</td>
    205         </tr>
    206       </table>
    207 </div>
    208 <div class="memdoc">
    209 
    210 </div>
    211 </div>
    212 <a class="anchor" id="aacf069d346230dd96812d5395728eef2"></a><!-- doxytag: member="lnx&#45;ms.c::GETPRIV" ref="aacf069d346230dd96812d5395728eef2" args="" -->
    213 <div class="memitem">
    214 <div class="memproto">
    215       <table class="memname">
    216         <tr>
    217           <td class="memname">#define GETPRIV</td>
    218         </tr>
    219       </table>
    220 </div>
    221 <div class="memdoc">
    222 <b>Value:</b><div class="fragment"><pre class="fragment"><a class="code" href="struct__myPrivate.html">myPrivate</a> *priv                            \
    223                       = ((<a class="code" href="dmxinput_8h.html#adb148db00fe0adf1938b815b9b934d26">DMXLocalInputInfoPtr</a>)(pDev-&gt;devicePrivate))-&gt;private
    224 </pre></div>
    225 <p>Referenced by <a class="el" href="lnx-ms_8c.html#a40d253404cd0db2e90bf9e3e6957d2a5">msLinuxButton()</a>, <a class="el" href="lnx-ms_8h.html#a0afb23673c5b1bc695c09f3f3bd75a4b">msLinuxInit()</a>, <a class="el" href="lnx-ms_8h.html#a834a356a0e28d90699a8178154588e09">msLinuxOff()</a>, <a class="el" href="lnx-ms_8h.html#ad8f116275f80b5143bc6fe8806cf1298">msLinuxOn()</a>, and <a class="el" href="lnx-ms_8c.html#abad8a6240d6769094e70b92f5d8b72d4">msLinuxRead()</a>.</p>
    226 
    227 </div>
    228 </div>
    229 <a class="anchor" id="a837722a322e811d5e42242655f277b87"></a><!-- doxytag: member="lnx&#45;ms.c::LOG0" ref="a837722a322e811d5e42242655f277b87" args="(f)" -->
    230 <div class="memitem">
    231 <div class="memproto">
    232       <table class="memname">
    233         <tr>
    234           <td class="memname">#define LOG0</td>
    235           <td>(</td>
    236           <td class="paramtype">&#160;</td>
    237           <td class="paramname">f</td><td>)</td>
    238           <td>&#160;&#160;&#160;dmxLog(dmxDebug,f)</td>
    239         </tr>
    240       </table>
    241 </div>
    242 <div class="memdoc">
    243 
    244 </div>
    245 </div>
    246 <a class="anchor" id="aab4b3434c36117a2ecdddec40716d97a"></a><!-- doxytag: member="lnx&#45;ms.c::LOG1" ref="aab4b3434c36117a2ecdddec40716d97a" args="(f, a)" -->
    247 <div class="memitem">
    248 <div class="memproto">
    249       <table class="memname">
    250         <tr>
    251           <td class="memname">#define LOG1</td>
    252           <td>(</td>
    253           <td class="paramtype">&#160;</td>
    254           <td class="paramname">f, </td>
    255         </tr>
    256         <tr>
    257           <td class="paramkey"></td>
    258           <td></td>
    259           <td class="paramtype">&#160;</td>
    260           <td class="paramname">a&#160;</td>
    261         </tr>
    262         <tr>
    263           <td></td>
    264           <td>)</td>
    265           <td></td><td>&#160;&#160;&#160;dmxLog(dmxDebug,f,a)</td>
    266         </tr>
    267       </table>
    268 </div>
    269 <div class="memdoc">
    270 
    271 </div>
    272 </div>
    273 <a class="anchor" id="a16da5d597d9bfb9e569a9bfb6996382c"></a><!-- doxytag: member="lnx&#45;ms.c::LOG2" ref="a16da5d597d9bfb9e569a9bfb6996382c" args="(f, a, b)" -->
    274 <div class="memitem">
    275 <div class="memproto">
    276       <table class="memname">
    277         <tr>
    278           <td class="memname">#define LOG2</td>
    279           <td>(</td>
    280           <td class="paramtype">&#160;</td>
    281           <td class="paramname">f, </td>
    282         </tr>
    283         <tr>
    284           <td class="paramkey"></td>
    285           <td></td>
    286           <td class="paramtype">&#160;</td>
    287           <td class="paramname">a, </td>
    288         </tr>
    289         <tr>
    290           <td class="paramkey"></td>
    291           <td></td>
    292           <td class="paramtype">&#160;</td>
    293           <td class="paramname">b&#160;</td>
    294         </tr>
    295         <tr>
    296           <td></td>
    297           <td>)</td>
    298           <td></td><td>&#160;&#160;&#160;dmxLog(dmxDebug,f,a,b)</td>
    299         </tr>
    300       </table>
    301 </div>
    302 <div class="memdoc">
    303 
    304 </div>
    305 </div>
    306 <a class="anchor" id="a8247f0bca25789d2ac27674eb26e223f"></a><!-- doxytag: member="lnx&#45;ms.c::LOG3" ref="a8247f0bca25789d2ac27674eb26e223f" args="(f, a, b, c)" -->
    307 <div class="memitem">
    308 <div class="memproto">
    309       <table class="memname">
    310         <tr>
    311           <td class="memname">#define LOG3</td>
    312           <td>(</td>
    313           <td class="paramtype">&#160;</td>
    314           <td class="paramname">f, </td>
    315         </tr>
    316         <tr>
    317           <td class="paramkey"></td>
    318           <td></td>
    319           <td class="paramtype">&#160;</td>
    320           <td class="paramname">a, </td>
    321         </tr>
    322         <tr>
    323           <td class="paramkey"></td>
    324           <td></td>
    325           <td class="paramtype">&#160;</td>
    326           <td class="paramname">b, </td>
    327         </tr>
    328         <tr>
    329           <td class="paramkey"></td>
    330           <td></td>
    331           <td class="paramtype">&#160;</td>
    332           <td class="paramname">c&#160;</td>
    333         </tr>
    334         <tr>
    335           <td></td>
    336           <td>)</td>
    337           <td></td><td>&#160;&#160;&#160;dmxLog(dmxDebug,f,a,b,c)</td>
    338         </tr>
    339       </table>
    340 </div>
    341 <div class="memdoc">
    342 
    343 </div>
    344 </div>
    345 <a class="anchor" id="a11a17082bee3b1b8217ce8a12adcf814"></a><!-- doxytag: member="lnx&#45;ms.c::MOTIONPROC" ref="a11a17082bee3b1b8217ce8a12adcf814" args="" -->
    346 <div class="memitem">
    347 <div class="memproto">
    348       <table class="memname">
    349         <tr>
    350           <td class="memname">#define MOTIONPROC&#160;&#160;&#160;<a class="el" href="dmxinputinit_8h.html#a1279820425966adabf5c77357e4a289c">dmxMotionProcPtr</a></td>
    351         </tr>
    352       </table>
    353 </div>
    354 <div class="memdoc">
    355 
    356 </div>
    357 </div>
    358 <a class="anchor" id="a7581da9bfd7ebf4fe3703352df521931"></a><!-- doxytag: member="lnx&#45;ms.c::PRESS" ref="a7581da9bfd7ebf4fe3703352df521931" args="(b)" -->
    359 <div class="memitem">
    360 <div class="memproto">
    361       <table class="memname">
    362         <tr>
    363           <td class="memname">#define PRESS</td>
    364           <td>(</td>
    365           <td class="paramtype">&#160;</td>
    366           <td class="paramname">b</td><td>)</td>
    367           <td></td>
    368         </tr>
    369       </table>
    370 </div>
    371 <div class="memdoc">
    372 <b>Value:</b><div class="fragment"><pre class="fragment"><span class="keywordflow">do</span> {                                                 \
    373         enqueue(pDev, ButtonPress, 0, 0, NULL, block);   \
    374     } <span class="keywordflow">while</span> (0)
    375 </pre></div>
    376 <p>Referenced by <a class="el" href="lnx-ms_8c.html#a40d253404cd0db2e90bf9e3e6957d2a5">msLinuxButton()</a>, <a class="el" href="lnx-ps2_8c.html#af3ff29bf7e70049ca978bc8fbff4aab6">ps2LinuxButton()</a>, and <a class="el" href="usb-common_8c.html#ae20f3b14463c8e288041f9970e388950">usbRead()</a>.</p>
    377 
    378 </div>
    379 </div>
    380 <a class="anchor" id="a2b4d2480737f9eb52f80998518486f01"></a><!-- doxytag: member="lnx&#45;ms.c::RELEASE" ref="a2b4d2480737f9eb52f80998518486f01" args="(b)" -->
    381 <div class="memitem">
    382 <div class="memproto">
    383       <table class="memname">
    384         <tr>
    385           <td class="memname">#define RELEASE</td>
    386           <td>(</td>
    387           <td class="paramtype">&#160;</td>
    388           <td class="paramname">b</td><td>)</td>
    389           <td></td>
    390         </tr>
    391       </table>
    392 </div>
    393 <div class="memdoc">
    394 <b>Value:</b><div class="fragment"><pre class="fragment"><span class="keywordflow">do</span> {                                                 \
    395         enqueue(pDev, ButtonRelease, 0, 0, NULL, block); \
    396     } <span class="keywordflow">while</span> (0)
    397 </pre></div>
    398 <p>Referenced by <a class="el" href="lnx-ms_8c.html#a40d253404cd0db2e90bf9e3e6957d2a5">msLinuxButton()</a>, <a class="el" href="lnx-ps2_8c.html#af3ff29bf7e70049ca978bc8fbff4aab6">ps2LinuxButton()</a>, and <a class="el" href="usb-common_8c.html#ae20f3b14463c8e288041f9970e388950">usbRead()</a>.</p>
    399 
    400 </div>
    401 </div>
    402 <hr/><h2>Typedef Documentation</h2>
    403 <a class="anchor" id="a25692217bddf2b6c089525b325afccf1"></a><!-- doxytag: member="lnx&#45;ms.c::myPrivate" ref="a25692217bddf2b6c089525b325afccf1" args="" -->
    404 <div class="memitem">
    405 <div class="memproto">
    406       <table class="memname">
    407         <tr>
    408           <td class="memname">typedef struct <a class="el" href="struct__myPrivate.html">_myPrivate</a>  <a class="el" href="struct__myPrivate.html">myPrivate</a></td>
    409         </tr>
    410       </table>
    411 </div>
    412 <div class="memdoc">
    413 
    414 </div>
    415 </div>
    416 <hr/><h2>Function Documentation</h2>
    417 <a class="anchor" id="a40d253404cd0db2e90bf9e3e6957d2a5"></a><!-- doxytag: member="lnx&#45;ms.c::msLinuxButton" ref="a40d253404cd0db2e90bf9e3e6957d2a5" args="(DevicePtr pDev, ENQUEUEPROC enqueue, int buttons, BLOCK block)" -->
    418 <div class="memitem">
    419 <div class="memproto">
    420       <table class="memname">
    421         <tr>
    422           <td class="memname">static void msLinuxButton </td>
    423           <td>(</td>
    424           <td class="paramtype">DevicePtr&#160;</td>
    425           <td class="paramname"><em>pDev</em>, </td>
    426         </tr>
    427         <tr>
    428           <td class="paramkey"></td>
    429           <td></td>
    430           <td class="paramtype">ENQUEUEPROC&#160;</td>
    431           <td class="paramname"><em>enqueue</em>, </td>
    432         </tr>
    433         <tr>
    434           <td class="paramkey"></td>
    435           <td></td>
    436           <td class="paramtype">int&#160;</td>
    437           <td class="paramname"><em>buttons</em>, </td>
    438         </tr>
    439         <tr>
    440           <td class="paramkey"></td>
    441           <td></td>
    442           <td class="paramtype">BLOCK&#160;</td>
    443           <td class="paramname"><em>block</em>&#160;</td>
    444         </tr>
    445         <tr>
    446           <td></td>
    447           <td>)</td>
    448           <td></td><td><code> [static]</code></td>
    449         </tr>
    450       </table>
    451 </div>
    452 <div class="memdoc">
    453 
    454 <p>References <a class="el" href="lnx-ms_8c.html#aacf069d346230dd96812d5395728eef2">GETPRIV</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>
    455 
    456 <p>Referenced by <a class="el" href="lnx-ms_8c.html#abad8a6240d6769094e70b92f5d8b72d4">msLinuxRead()</a>.</p>
    457 
    458 </div>
    459 </div>
    460 <a class="anchor" id="a7d7777681993bc701468245e42c04282"></a><!-- doxytag: member="lnx&#45;ms.c::msLinuxCreatePrivate" ref="a7d7777681993bc701468245e42c04282" args="(DeviceIntPtr pMouse)" -->
    461 <div class="memitem">
    462 <div class="memproto">
    463       <table class="memname">
    464         <tr>
    465           <td class="memname">pointer msLinuxCreatePrivate </td>
    466           <td>(</td>
    467           <td class="paramtype">DeviceIntPtr&#160;</td>
    468           <td class="paramname"><em>pMouse</em></td><td>)</td>
    469           <td></td>
    470         </tr>
    471       </table>
    472 </div>
    473 <div class="memdoc">
    474 <p>Create a private structure for use within this file. </p>
    475 
    476 <p>References <a class="el" href="struct__myPrivate.html#a6b26eb0acc0b932c8dee8277501e6273">_myPrivate::fd</a>, and <a class="el" href="struct__myPrivate.html#a3e46e1ccb546bbadfa5ebb165a8b11d4">_myPrivate::pMouse</a>.</p>
    477 
    478 </div>
    479 </div>
    480 <a class="anchor" id="a570d96862061388c5649972b2fa22d75"></a><!-- doxytag: member="lnx&#45;ms.c::msLinuxDestroyPrivate" ref="a570d96862061388c5649972b2fa22d75" args="(pointer priv)" -->
    481 <div class="memitem">
    482 <div class="memproto">
    483       <table class="memname">
    484         <tr>
    485           <td class="memname">void msLinuxDestroyPrivate </td>
    486           <td>(</td>
    487           <td class="paramtype">pointer&#160;</td>
    488           <td class="paramname"><em>priv</em></td><td>)</td>
    489           <td></td>
    490         </tr>
    491       </table>
    492 </div>
    493 <div class="memdoc">
    494 <p>Destroy a private structure. </p>
    495 
    496 </div>
    497 </div>
    498 <a class="anchor" id="ad650b3779315db603085a045405c9d9a"></a><!-- doxytag: member="lnx&#45;ms.c::msLinuxGetInfo" ref="ad650b3779315db603085a045405c9d9a" args="(DevicePtr pDev, DMXLocalInitInfoPtr info)" -->
    499 <div class="memitem">
    500 <div class="memproto">
    501       <table class="memname">
    502         <tr>
    503           <td class="memname">void msLinuxGetInfo </td>
    504           <td>(</td>
    505           <td class="paramtype">DevicePtr&#160;</td>
    506           <td class="paramname"><em>pDev</em>, </td>
    507         </tr>
    508         <tr>
    509           <td class="paramkey"></td>
    510           <td></td>
    511           <td class="paramtype"><a class="el" href="struct__DMXLocalInitInfo.html">DMXLocalInitInfoPtr</a>&#160;</td>
    512           <td class="paramname"><em>info</em>&#160;</td>
    513         </tr>
    514         <tr>
    515           <td></td>
    516           <td>)</td>
    517           <td></td><td></td>
    518         </tr>
    519       </table>
    520 </div>
    521 <div class="memdoc">
    522 <p>Fill the <em>info</em> structure with information needed to initialize <em>pDev</em>. </p>
    523 
    524 <p>References <a class="el" href="struct__DMXLocalInitInfo.html#a58b2e6764967add7eda1c1f2f0860abc">_DMXLocalInitInfo::buttonClass</a>, <a class="el" href="struct__DMXLocalInitInfo.html#a43d86cc82219794bba7ba1ee66472a45">_DMXLocalInitInfo::map</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="lnx-ms_8c.html#a04f66d21af929f125fa7d524883700d5">msLinuxGetMap()</a>, <a class="el" href="struct__DMXLocalInitInfo.html#a9264f367a1c1e252679299b00f94458c">_DMXLocalInitInfo::numButtons</a>, <a class="el" href="struct__DMXLocalInitInfo.html#a5e192625179bbed020a720e448c789aa">_DMXLocalInitInfo::numRelAxes</a>, <a class="el" href="struct__DMXLocalInitInfo.html#a1c52bc6e1c328ef9e808a111dd050fc2">_DMXLocalInitInfo::ptrFeedbackClass</a>, <a class="el" href="struct__DMXLocalInitInfo.html#abb910012dc1abde90f954354f8ceb2a1">_DMXLocalInitInfo::res</a>, and <a class="el" href="struct__DMXLocalInitInfo.html#a9af277d2da1ade2138488a413e9c5ceb">_DMXLocalInitInfo::valuatorClass</a>.</p>
    525 
    526 </div>
    527 </div>
    528 <a class="anchor" id="a04f66d21af929f125fa7d524883700d5"></a><!-- doxytag: member="lnx&#45;ms.c::msLinuxGetMap" ref="a04f66d21af929f125fa7d524883700d5" args="(DevicePtr pDev, unsigned char *map, int *nButtons)" -->
    529 <div class="memitem">
    530 <div class="memproto">
    531       <table class="memname">
    532         <tr>
    533           <td class="memname">static void msLinuxGetMap </td>
    534           <td>(</td>
    535           <td class="paramtype">DevicePtr&#160;</td>
    536           <td class="paramname"><em>pDev</em>, </td>
    537         </tr>
    538         <tr>
    539           <td class="paramkey"></td>
    540           <td></td>
    541           <td class="paramtype">unsigned char *&#160;</td>
    542           <td class="paramname"><em>map</em>, </td>
    543         </tr>
    544         <tr>
    545           <td class="paramkey"></td>
    546           <td></td>
    547           <td class="paramtype">int *&#160;</td>
    548           <td class="paramname"><em>nButtons</em>&#160;</td>
    549         </tr>
    550         <tr>
    551           <td></td>
    552           <td>)</td>
    553           <td></td><td><code> [static]</code></td>
    554         </tr>
    555       </table>
    556 </div>
    557 <div class="memdoc">
    558 
    559 <p>Referenced by <a class="el" href="lnx-ms_8h.html#ad650b3779315db603085a045405c9d9a">msLinuxGetInfo()</a>.</p>
    560 
    561 </div>
    562 </div>
    563 <a class="anchor" id="a0afb23673c5b1bc695c09f3f3bd75a4b"></a><!-- doxytag: member="lnx&#45;ms.c::msLinuxInit" ref="a0afb23673c5b1bc695c09f3f3bd75a4b" args="(DevicePtr pDev)" -->
    564 <div class="memitem">
    565 <div class="memproto">
    566       <table class="memname">
    567         <tr>
    568           <td class="memname">void msLinuxInit </td>
    569           <td>(</td>
    570           <td class="paramtype">DevicePtr&#160;</td>
    571           <td class="paramname"><em>pDev</em></td><td>)</td>
    572           <td></td>
    573         </tr>
    574       </table>
    575 </div>
    576 <div class="memdoc">
    577 <p>Initialize <em>pDev</em>. </p>
    578 
    579 <p>References <a class="el" href="lnx-ms_8c.html#a11bcea7c6bc7dbe400a3855f5b8676ce">FATAL1</a>, <a class="el" href="lnx-ms_8c.html#aacf069d346230dd96812d5395728eef2">GETPRIV</a>, and <a class="el" href="dmxsigio_8c.html#a39d33ce33804efd4d52606d59071c6d8">O_NONBLOCK</a>.</p>
    580 
    581 <p>Referenced by <a class="el" href="lnx-ms_8h.html#ad8f116275f80b5143bc6fe8806cf1298">msLinuxOn()</a>.</p>
    582 
    583 </div>
    584 </div>
    585 <a class="anchor" id="a834a356a0e28d90699a8178154588e09"></a><!-- doxytag: member="lnx&#45;ms.c::msLinuxOff" ref="a834a356a0e28d90699a8178154588e09" args="(DevicePtr pDev)" -->
    586 <div class="memitem">
    587 <div class="memproto">
    588       <table class="memname">
    589         <tr>
    590           <td class="memname">void msLinuxOff </td>
    591           <td>(</td>
    592           <td class="paramtype">DevicePtr&#160;</td>
    593           <td class="paramname"><em>pDev</em></td><td>)</td>
    594           <td></td>
    595         </tr>
    596       </table>
    597 </div>
    598 <div class="memdoc">
    599 <p>Turn <em>pDev</em> off (i.e., stop taking input from <em>pDev</em>). </p>
    600 
    601 <p>References <a class="el" href="lnx-ms_8c.html#aacf069d346230dd96812d5395728eef2">GETPRIV</a>.</p>
    602 
    603 </div>
    604 </div>
    605 <a class="anchor" id="ad8f116275f80b5143bc6fe8806cf1298"></a><!-- doxytag: member="lnx&#45;ms.c::msLinuxOn" ref="ad8f116275f80b5143bc6fe8806cf1298" args="(DevicePtr pDev)" -->
    606 <div class="memitem">
    607 <div class="memproto">
    608       <table class="memname">
    609         <tr>
    610           <td class="memname">int msLinuxOn </td>
    611           <td>(</td>
    612           <td class="paramtype">DevicePtr&#160;</td>
    613           <td class="paramname"><em>pDev</em></td><td>)</td>
    614           <td></td>
    615         </tr>
    616       </table>
    617 </div>
    618 <div class="memdoc">
    619 <p>Turn <em>pDev</em> on (i.e., take input from <em>pDev</em>). </p>
    620 
    621 <p>References <a class="el" href="lnx-ms_8c.html#a11bcea7c6bc7dbe400a3855f5b8676ce">FATAL1</a>, <a class="el" href="lnx-ms_8c.html#aacf069d346230dd96812d5395728eef2">GETPRIV</a>, and <a class="el" href="lnx-ms_8c.html#a0afb23673c5b1bc695c09f3f3bd75a4b">msLinuxInit()</a>.</p>
    622 
    623 </div>
    624 </div>
    625 <a class="anchor" id="abad8a6240d6769094e70b92f5d8b72d4"></a><!-- doxytag: member="lnx&#45;ms.c::msLinuxRead" ref="abad8a6240d6769094e70b92f5d8b72d4" args="(DevicePtr pDev, MOTIONPROC motion, ENQUEUEPROC enqueue, CHECKPROC checkspecial, BLOCK block)" -->
    626 <div class="memitem">
    627 <div class="memproto">
    628       <table class="memname">
    629         <tr>
    630           <td class="memname">void msLinuxRead </td>
    631           <td>(</td>
    632           <td class="paramtype">DevicePtr&#160;</td>
    633           <td class="paramname"><em>pDev</em>, </td>
    634         </tr>
    635         <tr>
    636           <td class="paramkey"></td>
    637           <td></td>
    638           <td class="paramtype">MOTIONPROC&#160;</td>
    639           <td class="paramname"><em>motion</em>, </td>
    640         </tr>
    641         <tr>
    642           <td class="paramkey"></td>
    643           <td></td>
    644           <td class="paramtype">ENQUEUEPROC&#160;</td>
    645           <td class="paramname"><em>enqueue</em>, </td>
    646         </tr>
    647         <tr>
    648           <td class="paramkey"></td>
    649           <td></td>
    650           <td class="paramtype">CHECKPROC&#160;</td>
    651           <td class="paramname"><em>checkspecial</em>, </td>
    652         </tr>
    653         <tr>
    654           <td class="paramkey"></td>
    655           <td></td>
    656           <td class="paramtype">BLOCK&#160;</td>
    657           <td class="paramname"><em>block</em>&#160;</td>
    658         </tr>
    659         <tr>
    660           <td></td>
    661           <td>)</td>
    662           <td></td><td></td>
    663         </tr>
    664       </table>
    665 </div>
    666 <div class="memdoc">
    667 <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, check for special keys with the <em>checkspecial</em> function and 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>
    668 
    669 <p>References <a class="el" href="lnx-ms_8c.html#aacf069d346230dd96812d5395728eef2">GETPRIV</a>, <a class="el" href="lnx-ms_8c.html#a40d253404cd0db2e90bf9e3e6957d2a5">msLinuxButton()</a>, and <a class="el" href="lnx-ms_8c.html#a71addb6f47215d1e4bf1452fdeeb5081">msLinuxReadBytes()</a>.</p>
    670 
    671 </div>
    672 </div>
    673 <a class="anchor" id="a71addb6f47215d1e4bf1452fdeeb5081"></a><!-- doxytag: member="lnx&#45;ms.c::msLinuxReadBytes" ref="a71addb6f47215d1e4bf1452fdeeb5081" args="(int fd, unsigned char *buf, int len, int min)" -->
    674 <div class="memitem">
    675 <div class="memproto">
    676       <table class="memname">
    677         <tr>
    678           <td class="memname">static int msLinuxReadBytes </td>
    679           <td>(</td>
    680           <td class="paramtype">int&#160;</td>
    681           <td class="paramname"><em>fd</em>, </td>
    682         </tr>
    683         <tr>
    684           <td class="paramkey"></td>
    685           <td></td>
    686           <td class="paramtype">unsigned char *&#160;</td>
    687           <td class="paramname"><em>buf</em>, </td>
    688         </tr>
    689         <tr>
    690           <td class="paramkey"></td>
    691           <td></td>
    692           <td class="paramtype">int&#160;</td>
    693           <td class="paramname"><em>len</em>, </td>
    694         </tr>
    695         <tr>
    696           <td class="paramkey"></td>
    697           <td></td>
    698           <td class="paramtype">int&#160;</td>
    699           <td class="paramname"><em>min</em>&#160;</td>
    700         </tr>
    701         <tr>
    702           <td></td>
    703           <td>)</td>
    704           <td></td><td><code> [static]</code></td>
    705         </tr>
    706       </table>
    707 </div>
    708 <div class="memdoc">
    709 
    710 <p>Referenced by <a class="el" href="lnx-ms_8c.html#abad8a6240d6769094e70b92f5d8b72d4">msLinuxRead()</a>.</p>
    711 
    712 </div>
    713 </div>
    714 <a class="anchor" id="af83993c8cc498cbd9f91737beefb5ea3"></a><!-- doxytag: member="lnx&#45;ms.c::msLinuxVTPostSwitch" ref="af83993c8cc498cbd9f91737beefb5ea3" args="(pointer p)" -->
    715 <div class="memitem">
    716 <div class="memproto">
    717       <table class="memname">
    718         <tr>
    719           <td class="memname">void msLinuxVTPostSwitch </td>
    720           <td>(</td>
    721           <td class="paramtype">pointer&#160;</td>
    722           <td class="paramname"><em>p</em></td><td>)</td>
    723           <td></td>
    724         </tr>
    725       </table>
    726 </div>
    727 <div class="memdoc">
    728 <p>Currently unused hook called after returning from a VT switch. </p>
    729 
    730 </div>
    731 </div>
    732 <a class="anchor" id="a1ce83df54082f3196ac29e36dea47fc5"></a><!-- doxytag: member="lnx&#45;ms.c::msLinuxVTPreSwitch" ref="a1ce83df54082f3196ac29e36dea47fc5" args="(pointer p)" -->
    733 <div class="memitem">
    734 <div class="memproto">
    735       <table class="memname">
    736         <tr>
    737           <td class="memname">void msLinuxVTPreSwitch </td>
    738           <td>(</td>
    739           <td class="paramtype">pointer&#160;</td>
    740           <td class="paramname"><em>p</em></td><td>)</td>
    741           <td></td>
    742         </tr>
    743       </table>
    744 </div>
    745 <div class="memdoc">
    746 <p>Currently unused hook called prior to an VT switch. </p>
    747 
    748 </div>
    749 </div>
    750 </div>
    751 </div>
    752   <div id="nav-path" class="navpath">
    753     <ul>
    754       <li class="navelem"><a class="el" href="lnx-ms_8c.html">lnx-ms.c</a>      </li>
    755     <hr>
    756     <address>
    757       <small>
    758         Generated June 29, 2004 for <a
    759         href="http://dmx.sourceforge.net">Distributed Multihead X</a> by
    760         <a href="http://www.doxygen.org/index.html">doxygen</a>
    761         1.3.4.
    762       </small>
    763     </addres>
    764     </hr>
    765   </body>
    766 </html>
    767