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('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> | 40<a href="#define-members">Defines</a> | 41<a href="#typedef-members">Typedefs</a> | 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 "inputstr.h"</code><br/> 48<code>#include <X11/Xos.h></code><br/> 49<code>#include <errno.h></code><br/> 50<code>#include <termios.h></code><br/> 51<code>#include "<a class="el" href="dmxinputinit_8h_source.html">dmxinputinit.h</a>"</code><br/> 52<code>#include "<a class="el" href="lnx-ms_8h_source.html">lnx-ms.h</a>"</code><br/> 53</div><table class="memberdecls"> 54<tr><td colspan="2"><h2><a name="nested-classes"></a> 55Data Structures</h2></td></tr> 56<tr><td class="memItemLeft" align="right" valign="top">struct  </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> 58Defines</h2></td></tr> 59<tr><td class="memItemLeft" align="right" valign="top">#define </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-ms_8c.html#a837722a322e811d5e42242655f277b87">LOG0</a>(f)   dmxLog(dmxDebug,f)</td></tr> 61<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-ms_8c.html#aab4b3434c36117a2ecdddec40716d97a">LOG1</a>(f, a)   dmxLog(dmxDebug,f,a)</td></tr> 62<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-ms_8c.html#a16da5d597d9bfb9e569a9bfb6996382c">LOG2</a>(f, a, b)   dmxLog(dmxDebug,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="lnx-ms_8c.html#a8247f0bca25789d2ac27674eb26e223f">LOG3</a>(f, a, b, c)   dmxLog(dmxDebug,f,a,b,c)</td></tr> 64<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-ms_8c.html#a6bce6020b913db8afe5d94bc63d1b355">FATAL0</a>(f)   dmxLog(dmxFatal,f)</td></tr> 65<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-ms_8c.html#a11bcea7c6bc7dbe400a3855f5b8676ce">FATAL1</a>(f, a)   dmxLog(dmxFatal,f,a)</td></tr> 66<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-ms_8c.html#a7952c9e9fe9c75be4964fc53a4299183">FATAL2</a>(f, a, b)   dmxLog(dmxFatal,f,a,b)</td></tr> 67<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-ms_8c.html#a11a17082bee3b1b8217ce8a12adcf814">MOTIONPROC</a>   <a class="el" href="dmxinputinit_8h.html#a1279820425966adabf5c77357e4a289c">dmxMotionProcPtr</a></td></tr> 68<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-ms_8c.html#a017080ce5e42667a6582cf858e7185cd">ENQUEUEPROC</a>   <a class="el" href="dmxinputinit_8h.html#adbd955b9ddbc5ffe38ff65e3f068f205">dmxEnqueueProcPtr</a></td></tr> 69<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-ms_8c.html#aa35a985e998ad5e2187e13434dca118a">CHECKPROC</a>   <a class="el" href="dmxinputinit_8h.html#a838cb45fd92d5cf506e4179b601f7dbc">dmxCheckSpecialProcPtr</a></td></tr> 70<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-ms_8c.html#a52220397ecea855b3a99746e451426e1">BLOCK</a>   <a class="el" href="dmxinput_8h.html#a3a7195ab3516c5354bac4ca80b2eedb7">DMXBlockType</a></td></tr> 71<tr><td class="memItemLeft" align="right" valign="top">#define </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 </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> 74Typedefs</h2></td></tr> 75<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct__myPrivate.html">_myPrivate</a> </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> 77Functions</h2></td></tr> 78<tr><td class="memItemLeft" align="right" valign="top">static int </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 </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 </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 </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 </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 </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 </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 </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 </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 </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 </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 </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-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   <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-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   <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-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   <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-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"> </td> 141 <td class="paramname">f</td><td>)</td> 142 <td>   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-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"> </td> 158 <td class="paramname">f, </td> 159 </tr> 160 <tr> 161 <td class="paramkey"></td> 162 <td></td> 163 <td class="paramtype"> </td> 164 <td class="paramname">a </td> 165 </tr> 166 <tr> 167 <td></td> 168 <td>)</td> 169 <td></td><td>   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-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"> </td> 187 <td class="paramname">f, </td> 188 </tr> 189 <tr> 190 <td class="paramkey"></td> 191 <td></td> 192 <td class="paramtype"> </td> 193 <td class="paramname">a, </td> 194 </tr> 195 <tr> 196 <td class="paramkey"></td> 197 <td></td> 198 <td class="paramtype"> </td> 199 <td class="paramname">b </td> 200 </tr> 201 <tr> 202 <td></td> 203 <td>)</td> 204 <td></td><td>   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-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->devicePrivate))->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-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"> </td> 237 <td class="paramname">f</td><td>)</td> 238 <td>   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-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"> </td> 254 <td class="paramname">f, </td> 255 </tr> 256 <tr> 257 <td class="paramkey"></td> 258 <td></td> 259 <td class="paramtype"> </td> 260 <td class="paramname">a </td> 261 </tr> 262 <tr> 263 <td></td> 264 <td>)</td> 265 <td></td><td>   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-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"> </td> 281 <td class="paramname">f, </td> 282 </tr> 283 <tr> 284 <td class="paramkey"></td> 285 <td></td> 286 <td class="paramtype"> </td> 287 <td class="paramname">a, </td> 288 </tr> 289 <tr> 290 <td class="paramkey"></td> 291 <td></td> 292 <td class="paramtype"> </td> 293 <td class="paramname">b </td> 294 </tr> 295 <tr> 296 <td></td> 297 <td>)</td> 298 <td></td><td>   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-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"> </td> 314 <td class="paramname">f, </td> 315 </tr> 316 <tr> 317 <td class="paramkey"></td> 318 <td></td> 319 <td class="paramtype"> </td> 320 <td class="paramname">a, </td> 321 </tr> 322 <tr> 323 <td class="paramkey"></td> 324 <td></td> 325 <td class="paramtype"> </td> 326 <td class="paramname">b, </td> 327 </tr> 328 <tr> 329 <td class="paramkey"></td> 330 <td></td> 331 <td class="paramtype"> </td> 332 <td class="paramname">c </td> 333 </tr> 334 <tr> 335 <td></td> 336 <td>)</td> 337 <td></td><td>   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-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   <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-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"> </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-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"> </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-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-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 </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 </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 </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 </td> 443 <td class="paramname"><em>block</em> </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-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 </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-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 </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-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 </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> </td> 512 <td class="paramname"><em>info</em> </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-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 </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 * </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 * </td> 548 <td class="paramname"><em>nButtons</em> </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-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 </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-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 </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-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 </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-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 </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 </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 </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 </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 </td> 657 <td class="paramname"><em>block</em> </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-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 </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 * </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 </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 </td> 699 <td class="paramname"><em>min</em> </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-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 </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-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 </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