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