aboutsummaryrefslogtreecommitdiff
path: root/xorg-server/hw/dmx/doc/html/lnx-ms_8c.html
diff options
context:
space:
mode:
Diffstat (limited to 'xorg-server/hw/dmx/doc/html/lnx-ms_8c.html')
-rw-r--r--xorg-server/hw/dmx/doc/html/lnx-ms_8c.html896
1 files changed, 632 insertions, 264 deletions
diff --git a/xorg-server/hw/dmx/doc/html/lnx-ms_8c.html b/xorg-server/hw/dmx/doc/html/lnx-ms_8c.html
index e77e562a4..25ba6260a 100644
--- a/xorg-server/hw/dmx/doc/html/lnx-ms_8c.html
+++ b/xorg-server/hw/dmx/doc/html/lnx-ms_8c.html
@@ -6,338 +6,706 @@
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head>
<body>
-<!-- Generated by Doxygen 1.3.4 -->
-<div class="qindex"><a class="qindex" href="main.html">Main&nbsp;Page</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Data&nbsp;Structures</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Data&nbsp;Fields</a> | <a class="qindex" href="globals.html">Globals</a></div>
-<h1>lnx-ms.c File Reference</h1><code>#include "inputstr.h"</code><br>
-<code>#include "Xos.h"</code><br>
-<code>#include &lt;errno.h&gt;</code><br>
-<code>#include &lt;termios.h&gt;</code><br>
-<code>#include "<a class="el" href="dmxinputinit_8h-source.html">dmxinputinit.h</a>"</code><br>
-<code>#include "<a class="el" href="lnx-ms_8h-source.html">lnx-ms.h</a>"</code><br>
-<table border=0 cellpadding=0 cellspacing=0>
-<tr><td></td></tr>
-<tr><td colspan=2><br><h2>Data Structures</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="struct__myPrivate.html">_myPrivate</a></td></tr>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>Globals</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>lnx-ms.c File Reference</h1><code>#include &quot;inputstr.h&quot;</code><br/>
+<code>#include &lt;X11/Xos.h&gt;</code><br/>
+<code>#include &lt;errno.h&gt;</code><br/>
+<code>#include &lt;termios.h&gt;</code><br/>
+<code>#include &quot;<a class="el" href="dmxinputinit_8h_source.html">dmxinputinit.h</a>&quot;</code><br/>
+<code>#include &quot;<a class="el" href="lnx-ms_8h_source.html">lnx-ms.h</a>&quot;</code><br/>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Data Structures</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__myPrivate.html">_myPrivate</a></td></tr>
+<tr><td colspan="2"><h2>Defines</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-ms_8c.html#aacf069d346230dd96812d5395728eef2">GETPRIV</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-ms_8c.html#a837722a322e811d5e42242655f277b87">LOG0</a>(f)&nbsp;&nbsp;&nbsp;dmxLog(dmxDebug,f)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-ms_8c.html#aab4b3434c36117a2ecdddec40716d97a">LOG1</a>(f, a)&nbsp;&nbsp;&nbsp;dmxLog(dmxDebug,f,a)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-ms_8c.html#a16da5d597d9bfb9e569a9bfb6996382c">LOG2</a>(f, a, b)&nbsp;&nbsp;&nbsp;dmxLog(dmxDebug,f,a,b)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-ms_8c.html#a8247f0bca25789d2ac27674eb26e223f">LOG3</a>(f, a, b, c)&nbsp;&nbsp;&nbsp;dmxLog(dmxDebug,f,a,b,c)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-ms_8c.html#a6bce6020b913db8afe5d94bc63d1b355">FATAL0</a>(f)&nbsp;&nbsp;&nbsp;dmxLog(dmxFatal,f)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-ms_8c.html#a11bcea7c6bc7dbe400a3855f5b8676ce">FATAL1</a>(f, a)&nbsp;&nbsp;&nbsp;dmxLog(dmxFatal,f,a)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-ms_8c.html#a7952c9e9fe9c75be4964fc53a4299183">FATAL2</a>(f, a, b)&nbsp;&nbsp;&nbsp;dmxLog(dmxFatal,f,a,b)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-ms_8c.html#a11a17082bee3b1b8217ce8a12adcf814">MOTIONPROC</a>&nbsp;&nbsp;&nbsp;<a class="el" href="dmxinputinit_8h.html#a1279820425966adabf5c77357e4a289c">dmxMotionProcPtr</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-ms_8c.html#a017080ce5e42667a6582cf858e7185cd">ENQUEUEPROC</a>&nbsp;&nbsp;&nbsp;<a class="el" href="dmxinputinit_8h.html#adbd955b9ddbc5ffe38ff65e3f068f205">dmxEnqueueProcPtr</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-ms_8c.html#aa35a985e998ad5e2187e13434dca118a">CHECKPROC</a>&nbsp;&nbsp;&nbsp;<a class="el" href="dmxinputinit_8h.html#a838cb45fd92d5cf506e4179b601f7dbc">dmxCheckSpecialProcPtr</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-ms_8c.html#a52220397ecea855b3a99746e451426e1">BLOCK</a>&nbsp;&nbsp;&nbsp;<a class="el" href="dmxinput_8h.html#a3a7195ab3516c5354bac4ca80b2eedb7">DMXBlockType</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-ms_8c.html#a7581da9bfd7ebf4fe3703352df521931">PRESS</a>(b)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-ms_8c.html#a2b4d2480737f9eb52f80998518486f01">RELEASE</a>(b)</td></tr>
+<tr><td colspan="2"><h2>Typedefs</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct__myPrivate.html">_myPrivate</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-ms_8c.html#a25692217bddf2b6c089525b325afccf1">myPrivate</a></td></tr>
+<tr><td colspan="2"><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static int&nbsp;</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>
+<tr><td class="memItemLeft" align="right" valign="top">static void&nbsp;</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>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</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>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-ms_8c.html#a0afb23673c5b1bc695c09f3f3bd75a4b">msLinuxInit</a> (DevicePtr pDev)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-ms_8c.html#ad8f116275f80b5143bc6fe8806cf1298">msLinuxOn</a> (DevicePtr pDev)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-ms_8c.html#a834a356a0e28d90699a8178154588e09">msLinuxOff</a> (DevicePtr pDev)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static void&nbsp;</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>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-ms_8c.html#a1ce83df54082f3196ac29e36dea47fc5">msLinuxVTPreSwitch</a> (pointer p)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-ms_8c.html#af83993c8cc498cbd9f91737beefb5ea3">msLinuxVTPostSwitch</a> (pointer p)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">pointer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-ms_8c.html#a7d7777681993bc701468245e42c04282">msLinuxCreatePrivate</a> (DeviceIntPtr pMouse)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-ms_8c.html#a570d96862061388c5649972b2fa22d75">msLinuxDestroyPrivate</a> (pointer priv)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</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>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<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>
+<hr/><h2>Define Documentation</h2>
+<a class="anchor" id="a52220397ecea855b3a99746e451426e1"></a><!-- doxytag: member="lnx&#45;ms.c::BLOCK" ref="a52220397ecea855b3a99746e451426e1" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define BLOCK&nbsp;&nbsp;&nbsp;<a class="el" href="dmxinput_8h.html#a3a7195ab3516c5354bac4ca80b2eedb7">DMXBlockType</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
-<tr><td colspan=2><br><h2>Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="lnx-ms_8c.html#a17">msLinuxRead</a> (DevicePtr pDev, MOTIONPROC motion, ENQUEUEPROC enqueue, CHECKPROC checkspecial, BLOCK block)</td></tr>
+</div>
+</div>
+<a class="anchor" id="aa35a985e998ad5e2187e13434dca118a"></a><!-- doxytag: member="lnx&#45;ms.c::CHECKPROC" ref="aa35a985e998ad5e2187e13434dca118a" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define CHECKPROC&nbsp;&nbsp;&nbsp;<a class="el" href="dmxinputinit_8h.html#a838cb45fd92d5cf506e4179b601f7dbc">dmxCheckSpecialProcPtr</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
-<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="lnx-ms_8c.html#a18">msLinuxInit</a> (DevicePtr pDev)</td></tr>
+</div>
+</div>
+<a class="anchor" id="a017080ce5e42667a6582cf858e7185cd"></a><!-- doxytag: member="lnx&#45;ms.c::ENQUEUEPROC" ref="a017080ce5e42667a6582cf858e7185cd" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define ENQUEUEPROC&nbsp;&nbsp;&nbsp;<a class="el" href="dmxinputinit_8h.html#adbd955b9ddbc5ffe38ff65e3f068f205">dmxEnqueueProcPtr</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
-<tr><td class="memItemLeft" nowrap align=right valign=top>int&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="lnx-ms_8c.html#a19">msLinuxOn</a> (DevicePtr pDev)</td></tr>
+</div>
+</div>
+<a class="anchor" id="a6bce6020b913db8afe5d94bc63d1b355"></a><!-- doxytag: member="lnx&#45;ms.c::FATAL0" ref="a6bce6020b913db8afe5d94bc63d1b355" args="(f)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define FATAL0</td>
+ <td>(</td>
+ <td class="paramtype">f&nbsp;</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td>&nbsp;&nbsp;&nbsp;dmxLog(dmxFatal,f)</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
-<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="lnx-ms_8c.html#a20">msLinuxOff</a> (DevicePtr pDev)</td></tr>
+</div>
+</div>
+<a class="anchor" id="a11bcea7c6bc7dbe400a3855f5b8676ce"></a><!-- doxytag: member="lnx&#45;ms.c::FATAL1" ref="a11bcea7c6bc7dbe400a3855f5b8676ce" args="(f, a)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define FATAL1</td>
+ <td>(</td>
+ <td class="paramtype">f, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">a&nbsp;</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td>&nbsp;&nbsp;&nbsp;dmxLog(dmxFatal,f,a)</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
-<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="lnx-ms_8c.html#a22">msLinuxVTPreSwitch</a> (pointer p)</td></tr>
+</div>
+</div>
+<a class="anchor" id="a7952c9e9fe9c75be4964fc53a4299183"></a><!-- doxytag: member="lnx&#45;ms.c::FATAL2" ref="a7952c9e9fe9c75be4964fc53a4299183" args="(f, a, b)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define FATAL2</td>
+ <td>(</td>
+ <td class="paramtype">f, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">a, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">b&nbsp;</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td>&nbsp;&nbsp;&nbsp;dmxLog(dmxFatal,f,a,b)</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
-<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="lnx-ms_8c.html#a23">msLinuxVTPostSwitch</a> (pointer p)</td></tr>
+</div>
+</div>
+<a class="anchor" id="aacf069d346230dd96812d5395728eef2"></a><!-- doxytag: member="lnx&#45;ms.c::GETPRIV" ref="aacf069d346230dd96812d5395728eef2" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define GETPRIV</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<b>Value:</b><div class="fragment"><pre class="fragment"><a class="code" href="struct__myPrivate.html">myPrivate</a> *priv \
+ = ((<a class="code" href="struct__DMXLocalInputInfo.html">DMXLocalInputInfoPtr</a>)(pDev-&gt;devicePrivate))-&gt;private
+</pre></div>
+</div>
+</div>
+<a class="anchor" id="a837722a322e811d5e42242655f277b87"></a><!-- doxytag: member="lnx&#45;ms.c::LOG0" ref="a837722a322e811d5e42242655f277b87" args="(f)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define LOG0</td>
+ <td>(</td>
+ <td class="paramtype">f&nbsp;</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td>&nbsp;&nbsp;&nbsp;dmxLog(dmxDebug,f)</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
-<tr><td class="memItemLeft" nowrap align=right valign=top>pointer&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="lnx-ms_8c.html#a24">msLinuxCreatePrivate</a> (DeviceIntPtr pMouse)</td></tr>
+</div>
+</div>
+<a class="anchor" id="aab4b3434c36117a2ecdddec40716d97a"></a><!-- doxytag: member="lnx&#45;ms.c::LOG1" ref="aab4b3434c36117a2ecdddec40716d97a" args="(f, a)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define LOG1</td>
+ <td>(</td>
+ <td class="paramtype">f, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">a&nbsp;</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td>&nbsp;&nbsp;&nbsp;dmxLog(dmxDebug,f,a)</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
-<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="lnx-ms_8c.html#a25">msLinuxDestroyPrivate</a> (pointer priv)</td></tr>
+</div>
+</div>
+<a class="anchor" id="a16da5d597d9bfb9e569a9bfb6996382c"></a><!-- doxytag: member="lnx&#45;ms.c::LOG2" ref="a16da5d597d9bfb9e569a9bfb6996382c" args="(f, a, b)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define LOG2</td>
+ <td>(</td>
+ <td class="paramtype">f, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">a, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">b&nbsp;</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td>&nbsp;&nbsp;&nbsp;dmxLog(dmxDebug,f,a,b)</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
-<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="lnx-ms_8c.html#a26">msLinuxGetInfo</a> (DevicePtr pDev, <a class="el" href="struct__DMXLocalInitInfo.html">DMXLocalInitInfoPtr</a> info)</td></tr>
+</div>
+</div>
+<a class="anchor" id="a8247f0bca25789d2ac27674eb26e223f"></a><!-- doxytag: member="lnx&#45;ms.c::LOG3" ref="a8247f0bca25789d2ac27674eb26e223f" args="(f, a, b, c)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define LOG3</td>
+ <td>(</td>
+ <td class="paramtype">f, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">a, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">b, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">c&nbsp;</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td>&nbsp;&nbsp;&nbsp;dmxLog(dmxDebug,f,a,b,c)</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-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).<hr><h2>Function Documentation</h2>
-<a class="anchor" name="a24" doxytag="lnx-ms.c::msLinuxCreatePrivate" ></a><p>
-<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top"> pointer msLinuxCreatePrivate </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">DeviceIntPtr&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>pMouse</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
+</div>
+</div>
+<a class="anchor" id="a11a17082bee3b1b8217ce8a12adcf814"></a><!-- doxytag: member="lnx&#45;ms.c::MOTIONPROC" ref="a11a17082bee3b1b8217ce8a12adcf814" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define MOTIONPROC&nbsp;&nbsp;&nbsp;<a class="el" href="dmxinputinit_8h.html#a1279820425966adabf5c77357e4a289c">dmxMotionProcPtr</a></td>
</tr>
+ </table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="a7581da9bfd7ebf4fe3703352df521931"></a><!-- doxytag: member="lnx&#45;ms.c::PRESS" ref="a7581da9bfd7ebf4fe3703352df521931" args="(b)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define PRESS</td>
+ <td>(</td>
+ <td class="paramtype">b&nbsp;</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
</table>
- </td>
- </tr>
-</table>
-<table cellspacing=5 cellpadding=0 border=0>
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Create a private structure for use within this file. </td>
- </tr>
-</table>
-<a class="anchor" name="a25" doxytag="lnx-ms.c::msLinuxDestroyPrivate" ></a><p>
-<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
+</div>
+<div class="memdoc">
+<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keywordflow">do</span> { \
+ enqueue(pDev, ButtonPress, 0, 0, NULL, block); \
+ } <span class="keywordflow">while</span> (0)
+</pre></div>
+<p>Referenced by <a class="el" href="lnx-ms_8c_source.html#l00144">msLinuxButton()</a>, <a class="el" href="lnx-ps2_8c_source.html#l00140">ps2LinuxButton()</a>, and <a class="el" href="usb-common_8c_source.html#l00087">usbRead()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a2b4d2480737f9eb52f80998518486f01"></a><!-- doxytag: member="lnx&#45;ms.c::RELEASE" ref="a2b4d2480737f9eb52f80998518486f01" args="(b)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
<tr>
- <td class="md" nowrap valign="top"> void msLinuxDestroyPrivate </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">pointer&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>priv</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
+ <td class="memname">#define RELEASE</td>
+ <td>(</td>
+ <td class="paramtype">b&nbsp;</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
</tr>
+ </table>
+</div>
+<div class="memdoc">
+<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keywordflow">do</span> { \
+ enqueue(pDev, ButtonRelease, 0, 0, NULL, block); \
+ } <span class="keywordflow">while</span> (0)
+</pre></div>
+<p>Referenced by <a class="el" href="lnx-ms_8c_source.html#l00144">msLinuxButton()</a>, <a class="el" href="lnx-ps2_8c_source.html#l00140">ps2LinuxButton()</a>, and <a class="el" href="usb-common_8c_source.html#l00087">usbRead()</a>.</p>
+</div>
+</div>
+<hr/><h2>Typedef Documentation</h2>
+<a class="anchor" id="a25692217bddf2b6c089525b325afccf1"></a><!-- doxytag: member="lnx&#45;ms.c::myPrivate" ref="a25692217bddf2b6c089525b325afccf1" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef struct <a class="el" href="struct__myPrivate.html">_myPrivate</a> <a class="el" href="struct__myPrivate.html">myPrivate</a></td>
+ </tr>
</table>
- </td>
- </tr>
-</table>
-<table cellspacing=5 cellpadding=0 border=0>
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Destroy a private structure. </td>
- </tr>
-</table>
-<a class="anchor" name="a26" doxytag="lnx-ms.c::msLinuxGetInfo" ></a><p>
-<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="a40d253404cd0db2e90bf9e3e6957d2a5"></a><!-- doxytag: member="lnx&#45;ms.c::msLinuxButton" ref="a40d253404cd0db2e90bf9e3e6957d2a5" args="(DevicePtr pDev, ENQUEUEPROC enqueue, int buttons, BLOCK block)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
<tr>
- <td class="md" nowrap valign="top"> void msLinuxGetInfo </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">DevicePtr&nbsp;</td>
- <td class="mdname" nowrap> <em>pDev</em>, </td>
+ <td class="memname">static void msLinuxButton </td>
+ <td>(</td>
+ <td class="paramtype">DevicePtr&nbsp;</td>
+ <td class="paramname"> <em>pDev</em>, </td>
</tr>
<tr>
+ <td class="paramkey"></td>
<td></td>
+ <td class="paramtype">ENQUEUEPROC&nbsp;</td>
+ <td class="paramname"> <em>enqueue</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>buttons</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
<td></td>
- <td class="md" nowrap><a class="el" href="struct__DMXLocalInitInfo.html">DMXLocalInitInfoPtr</a>&nbsp;</td>
- <td class="mdname" nowrap> <em>info</em></td>
+ <td class="paramtype">BLOCK&nbsp;</td>
+ <td class="paramname"> <em>block</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [static]</code></td>
</tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>References <a class="el" href="lnx-keyboard_8c_source.html#l00136">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>
+
+<p>Referenced by <a class="el" href="lnx-ms_8c_source.html#l00183">msLinuxRead()</a>.</p>
+</div>
+</div>
+<a class="anchor" id="a7d7777681993bc701468245e42c04282"></a><!-- doxytag: member="lnx&#45;ms.c::msLinuxCreatePrivate" ref="a7d7777681993bc701468245e42c04282" args="(DeviceIntPtr pMouse)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">pointer msLinuxCreatePrivate </td>
+ <td>(</td>
+ <td class="paramtype">DeviceIntPtr&nbsp;</td>
+ <td class="paramname"> <em>pMouse</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
</table>
- </td>
- </tr>
-</table>
-<table cellspacing=5 cellpadding=0 border=0>
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Fill the <em>info</em> structure with information needed to initialize <em>pDev</em>. </td>
- </tr>
-</table>
-<a class="anchor" name="a18" doxytag="lnx-ms.c::msLinuxInit" ></a><p>
-<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
+</div>
+<div class="memdoc">
+<p>Create a private structure for use within this file. </p>
+
+<p>References <a class="el" href="lnx-keyboard_8c_source.html#l00178">_myPrivate::fd</a>, and <a class="el" href="lnx-ms_8c_source.html#l00107">_myPrivate::pMouse</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a570d96862061388c5649972b2fa22d75"></a><!-- doxytag: member="lnx&#45;ms.c::msLinuxDestroyPrivate" ref="a570d96862061388c5649972b2fa22d75" args="(pointer priv)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
<tr>
- <td class="md" nowrap valign="top"> void msLinuxInit </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">DevicePtr&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>pDev</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
+ <td class="memname">void msLinuxDestroyPrivate </td>
+ <td>(</td>
+ <td class="paramtype">pointer&nbsp;</td>
+ <td class="paramname"> <em>priv</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
</tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Destroy a private structure. </p>
+</div>
+</div>
+<a class="anchor" id="ad650b3779315db603085a045405c9d9a"></a><!-- doxytag: member="lnx&#45;ms.c::msLinuxGetInfo" ref="ad650b3779315db603085a045405c9d9a" args="(DevicePtr pDev, DMXLocalInitInfoPtr info)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void msLinuxGetInfo </td>
+ <td>(</td>
+ <td class="paramtype">DevicePtr&nbsp;</td>
+ <td class="paramname"> <em>pDev</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="struct__DMXLocalInitInfo.html">DMXLocalInitInfoPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>info</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
</table>
- </td>
- </tr>
-</table>
-<table cellspacing=5 cellpadding=0 border=0>
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Initialize <em>pDev</em>. </td>
- </tr>
-</table>
-<a class="anchor" name="a20" doxytag="lnx-ms.c::msLinuxOff" ></a><p>
-<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
+</div>
+<div class="memdoc">
+<p>Fill the <em>info</em> structure with information needed to initialize <em>pDev</em>. </p>
+
+<p>References <a class="el" href="dmxinputinit_8h_source.html#l00095">_DMXLocalInitInfo::buttonClass</a>, <a class="el" href="dmxinputinit_8h_source.html#l00097">_DMXLocalInitInfo::map</a>, <a class="el" href="dmxinputinit_8h_source.html#l00107">_DMXLocalInitInfo::maxres</a>, <a class="el" href="dmxinputinit_8h_source.html#l00104">_DMXLocalInitInfo::maxval</a>, <a class="el" href="dmxinputinit_8h_source.html#l00106">_DMXLocalInitInfo::minres</a>, <a class="el" href="dmxinputinit_8h_source.html#l00103">_DMXLocalInitInfo::minval</a>, <a class="el" href="lnx-ms_8c_source.html#l00274">msLinuxGetMap()</a>, <a class="el" href="dmxinputinit_8h_source.html#l00096">_DMXLocalInitInfo::numButtons</a>, <a class="el" href="dmxinputinit_8h_source.html#l00101">_DMXLocalInitInfo::numRelAxes</a>, <a class="el" href="dmxinputinit_8h_source.html#l00115">_DMXLocalInitInfo::ptrFeedbackClass</a>, <a class="el" href="dmxinputinit_8h_source.html#l00105">_DMXLocalInitInfo::res</a>, and <a class="el" href="dmxinputinit_8h_source.html#l00099">_DMXLocalInitInfo::valuatorClass</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a04f66d21af929f125fa7d524883700d5"></a><!-- doxytag: member="lnx&#45;ms.c::msLinuxGetMap" ref="a04f66d21af929f125fa7d524883700d5" args="(DevicePtr pDev, unsigned char *map, int *nButtons)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">static void msLinuxGetMap </td>
+ <td>(</td>
+ <td class="paramtype">DevicePtr&nbsp;</td>
+ <td class="paramname"> <em>pDev</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">unsigned char *&nbsp;</td>
+ <td class="paramname"> <em>map</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int *&nbsp;</td>
+ <td class="paramname"> <em>nButtons</em></td><td>&nbsp;</td>
+ </tr>
<tr>
- <td class="md" nowrap valign="top"> void msLinuxOff </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">DevicePtr&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>pDev</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [static]</code></td>
</tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Referenced by <a class="el" href="lnx-ms_8c_source.html#l00309">msLinuxGetInfo()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a0afb23673c5b1bc695c09f3f3bd75a4b"></a><!-- doxytag: member="lnx&#45;ms.c::msLinuxInit" ref="a0afb23673c5b1bc695c09f3f3bd75a4b" args="(DevicePtr pDev)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void msLinuxInit </td>
+ <td>(</td>
+ <td class="paramtype">DevicePtr&nbsp;</td>
+ <td class="paramname"> <em>pDev</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
</table>
- </td>
- </tr>
-</table>
-<table cellspacing=5 cellpadding=0 border=0>
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Turn <em>pDev</em> off (i.e., stop taking input from <em>pDev</em>). </td>
- </tr>
-</table>
-<a class="anchor" name="a19" doxytag="lnx-ms.c::msLinuxOn" ></a><p>
-<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
+</div>
+<div class="memdoc">
+<p>Initialize <em>pDev</em>. </p>
+
+<p>References <a class="el" href="lnx-keyboard_8c_source.html#l00144">FATAL1</a>, <a class="el" href="lnx-keyboard_8c_source.html#l00136">GETPRIV</a>, and <a class="el" href="dmxsigio_8c_source.html#l00062">O_NONBLOCK</a>.</p>
+
+<p>Referenced by <a class="el" href="lnx-ms_8c_source.html#l00240">msLinuxOn()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a834a356a0e28d90699a8178154588e09"></a><!-- doxytag: member="lnx&#45;ms.c::msLinuxOff" ref="a834a356a0e28d90699a8178154588e09" args="(DevicePtr pDev)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
<tr>
- <td class="md" nowrap valign="top"> int msLinuxOn </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">DevicePtr&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>pDev</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
+ <td class="memname">void msLinuxOff </td>
+ <td>(</td>
+ <td class="paramtype">DevicePtr&nbsp;</td>
+ <td class="paramname"> <em>pDev</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
</tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Turn <em>pDev</em> off (i.e., stop taking input from <em>pDev</em>). </p>
+
+<p>References <a class="el" href="lnx-keyboard_8c_source.html#l00136">GETPRIV</a>.</p>
+</div>
+</div>
+<a class="anchor" id="ad8f116275f80b5143bc6fe8806cf1298"></a><!-- doxytag: member="lnx&#45;ms.c::msLinuxOn" ref="ad8f116275f80b5143bc6fe8806cf1298" args="(DevicePtr pDev)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int msLinuxOn </td>
+ <td>(</td>
+ <td class="paramtype">DevicePtr&nbsp;</td>
+ <td class="paramname"> <em>pDev</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
</table>
- </td>
- </tr>
-</table>
-<table cellspacing=5 cellpadding=0 border=0>
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Turn <em>pDev</em> on (i.e., take input from <em>pDev</em>). </td>
- </tr>
-</table>
-<a class="anchor" name="a17" doxytag="lnx-ms.c::msLinuxRead" ></a><p>
-<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
+</div>
+<div class="memdoc">
+<p>Turn <em>pDev</em> on (i.e., take input from <em>pDev</em>). </p>
+
+<p>References <a class="el" href="lnx-keyboard_8c_source.html#l00144">FATAL1</a>, <a class="el" href="lnx-keyboard_8c_source.html#l00136">GETPRIV</a>, and <a class="el" href="lnx-ms_8c_source.html#l00214">msLinuxInit()</a>.</p>
+
+</div>
+</div>
+<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)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
<tr>
- <td class="md" nowrap valign="top"> void msLinuxRead </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">DevicePtr&nbsp;</td>
- <td class="mdname" nowrap> <em>pDev</em>, </td>
+ <td class="memname">void msLinuxRead </td>
+ <td>(</td>
+ <td class="paramtype">DevicePtr&nbsp;</td>
+ <td class="paramname"> <em>pDev</em>, </td>
</tr>
<tr>
+ <td class="paramkey"></td>
<td></td>
+ <td class="paramtype">MOTIONPROC&nbsp;</td>
+ <td class="paramname"> <em>motion</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
<td></td>
- <td class="md" nowrap>MOTIONPROC&nbsp;</td>
- <td class="mdname" nowrap> <em>motion</em>, </td>
+ <td class="paramtype">ENQUEUEPROC&nbsp;</td>
+ <td class="paramname"> <em>enqueue</em>, </td>
</tr>
<tr>
+ <td class="paramkey"></td>
<td></td>
+ <td class="paramtype">CHECKPROC&nbsp;</td>
+ <td class="paramname"> <em>checkspecial</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
<td></td>
- <td class="md" nowrap>ENQUEUEPROC&nbsp;</td>
- <td class="mdname" nowrap> <em>enqueue</em>, </td>
+ <td class="paramtype">BLOCK&nbsp;</td>
+ <td class="paramname"> <em>block</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<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>
+
+<p>References <a class="el" href="lnx-keyboard_8c_source.html#l00136">GETPRIV</a>, <a class="el" href="lnx-ms_8c_source.html#l00144">msLinuxButton()</a>, and <a class="el" href="lnx-ms_8c_source.html#l00119">msLinuxReadBytes()</a>.</p>
+
+</div>
+</div>
+<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)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">static int msLinuxReadBytes </td>
+ <td>(</td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>fd</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
<td></td>
- <td class="md" nowrap>CHECKPROC&nbsp;</td>
- <td class="mdname" nowrap> <em>checkspecial</em>, </td>
+ <td class="paramtype">unsigned char *&nbsp;</td>
+ <td class="paramname"> <em>buf</em>, </td>
</tr>
<tr>
+ <td class="paramkey"></td>
<td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>len</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
<td></td>
- <td class="md" nowrap>BLOCK&nbsp;</td>
- <td class="mdname" nowrap> <em>block</em></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>min</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [static]</code></td>
</tr>
-
</table>
- </td>
- </tr>
-</table>
-<table cellspacing=5 cellpadding=0 border=0>
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<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. </td>
- </tr>
-</table>
-<a class="anchor" name="a23" doxytag="lnx-ms.c::msLinuxVTPostSwitch" ></a><p>
-<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
+</div>
+<div class="memdoc">
+
+<p>Referenced by <a class="el" href="lnx-ms_8c_source.html#l00183">msLinuxRead()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="af83993c8cc498cbd9f91737beefb5ea3"></a><!-- doxytag: member="lnx&#45;ms.c::msLinuxVTPostSwitch" ref="af83993c8cc498cbd9f91737beefb5ea3" args="(pointer p)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
<tr>
- <td class="md" nowrap valign="top"> void msLinuxVTPostSwitch </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">pointer&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>p</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
+ <td class="memname">void msLinuxVTPostSwitch </td>
+ <td>(</td>
+ <td class="paramtype">pointer&nbsp;</td>
+ <td class="paramname"> <em>p</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
</tr>
-
</table>
- </td>
- </tr>
-</table>
-<table cellspacing=5 cellpadding=0 border=0>
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Currently unused hook called after returning from a VT switch. </td>
- </tr>
-</table>
-<a class="anchor" name="a22" doxytag="lnx-ms.c::msLinuxVTPreSwitch" ></a><p>
-<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
+</div>
+<div class="memdoc">
+<p>Currently unused hook called after returning from a VT switch. </p>
+
+</div>
+</div>
+<a class="anchor" id="a1ce83df54082f3196ac29e36dea47fc5"></a><!-- doxytag: member="lnx&#45;ms.c::msLinuxVTPreSwitch" ref="a1ce83df54082f3196ac29e36dea47fc5" args="(pointer p)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
<tr>
- <td class="md" nowrap valign="top"> void msLinuxVTPreSwitch </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">pointer&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>p</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
+ <td class="memname">void msLinuxVTPreSwitch </td>
+ <td>(</td>
+ <td class="paramtype">pointer&nbsp;</td>
+ <td class="paramname"> <em>p</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
</tr>
-
</table>
- </td>
- </tr>
-</table>
-<table cellspacing=5 cellpadding=0 border=0>
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Currently unused hook called prior to an VT switch. </td>
- </tr>
-</table>
+</div>
+<div class="memdoc">
+<p>Currently unused hook called prior to an VT switch. </p>
+
+</div>
+</div>
+</div>
<hr>
<address>
<small>