1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
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">
9
<!-- Generated by Doxygen 1.7.1 -->
10
<div class="navigation" id="top">
13
<li><a href="main.html"><span>Main Page</span></a></li>
14
<li><a href="annotated.html"><span>Data Structures</span></a></li>
15
<li class="current"><a href="files.html"><span>Files</span></a></li>
20
<li><a href="files.html"><span>File List</span></a></li>
21
<li><a href="globals.html"><span>Globals</span></a></li>
27
<a href="#nested-classes">Data Structures</a> |
28
<a href="#define-members">Defines</a> |
29
<a href="#typedef-members">Typedefs</a> |
30
<a href="#func-members">Functions</a> </div>
31
<div class="headertitle">
32
<h1>lnx-ms.c File Reference</h1> </div>
34
<div class="contents">
35
<code>#include "inputstr.h"</code><br/>
36
<code>#include <X11/Xos.h></code><br/>
37
<code>#include <errno.h></code><br/>
38
<code>#include <termios.h></code><br/>
39
<code>#include "<a class="el" href="dmxinputinit_8h_source.html">dmxinputinit.h</a>"</code><br/>
40
<code>#include "<a class="el" href="lnx-ms_8h_source.html">lnx-ms.h</a>"</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 </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-ms_8c.html#aacf069d346230dd96812d5395728eef2">GETPRIV</a></td></tr>
48
<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>
49
<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>
50
<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>
51
<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>
52
<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>
53
<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>
54
<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>
55
<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>
56
<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>
57
<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>
58
<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>
59
<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>
60
<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>
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> </td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-ms_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 </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>
67
<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>
68
<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>
69
<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>
70
<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>
71
<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>
72
<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>
73
<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>
74
<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>
75
<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>
76
<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>
77
<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>
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 Juliusz Chroboczek and 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-ms.c::BLOCK" ref="a52220397ecea855b3a99746e451426e1" args="" -->
84
<div class="memproto">
85
<table class="memname">
87
<td class="memname">#define BLOCK <a class="el" href="dmxinput_8h.html#a3a7195ab3516c5354bac4ca80b2eedb7">DMXBlockType</a></td>
95
<a class="anchor" id="aa35a985e998ad5e2187e13434dca118a"></a><!-- doxytag: member="lnx-ms.c::CHECKPROC" ref="aa35a985e998ad5e2187e13434dca118a" args="" -->
97
<div class="memproto">
98
<table class="memname">
100
<td class="memname">#define CHECKPROC <a class="el" href="dmxinputinit_8h.html#a838cb45fd92d5cf506e4179b601f7dbc">dmxCheckSpecialProcPtr</a></td>
108
<a class="anchor" id="a017080ce5e42667a6582cf858e7185cd"></a><!-- doxytag: member="lnx-ms.c::ENQUEUEPROC" ref="a017080ce5e42667a6582cf858e7185cd" args="" -->
109
<div class="memitem">
110
<div class="memproto">
111
<table class="memname">
113
<td class="memname">#define ENQUEUEPROC <a class="el" href="dmxinputinit_8h.html#adbd955b9ddbc5ffe38ff65e3f068f205">dmxEnqueueProcPtr</a></td>
121
<a class="anchor" id="a6bce6020b913db8afe5d94bc63d1b355"></a><!-- doxytag: member="lnx-ms.c::FATAL0" ref="a6bce6020b913db8afe5d94bc63d1b355" args="(f)" -->
122
<div class="memitem">
123
<div class="memproto">
124
<table class="memname">
126
<td class="memname">#define FATAL0</td>
128
<td class="paramtype"> </td>
129
<td class="paramname">f</td>
130
<td> ) </td>
131
<td> dmxLog(dmxFatal,f)</td>
139
<a class="anchor" id="a11bcea7c6bc7dbe400a3855f5b8676ce"></a><!-- doxytag: member="lnx-ms.c::FATAL1" ref="a11bcea7c6bc7dbe400a3855f5b8676ce" args="(f, a)" -->
140
<div class="memitem">
141
<div class="memproto">
142
<table class="memname">
144
<td class="memname">#define FATAL1</td>
146
<td class="paramtype"> </td>
147
<td class="paramname">f, </td>
150
<td class="paramkey"></td>
152
<td class="paramtype"> </td>
153
<td class="paramname">a</td><td> </td>
158
<td></td><td></td><td> dmxLog(dmxFatal,f,a)</td>
164
<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>
168
<a class="anchor" id="a7952c9e9fe9c75be4964fc53a4299183"></a><!-- doxytag: member="lnx-ms.c::FATAL2" ref="a7952c9e9fe9c75be4964fc53a4299183" args="(f, a, b)" -->
169
<div class="memitem">
170
<div class="memproto">
171
<table class="memname">
173
<td class="memname">#define FATAL2</td>
175
<td class="paramtype"> </td>
176
<td class="paramname">f, </td>
179
<td class="paramkey"></td>
181
<td class="paramtype"> </td>
182
<td class="paramname">a, </td>
185
<td class="paramkey"></td>
187
<td class="paramtype"> </td>
188
<td class="paramname">b</td><td> </td>
193
<td></td><td></td><td> dmxLog(dmxFatal,f,a,b)</td>
201
<a class="anchor" id="aacf069d346230dd96812d5395728eef2"></a><!-- doxytag: member="lnx-ms.c::GETPRIV" ref="aacf069d346230dd96812d5395728eef2" args="" -->
202
<div class="memitem">
203
<div class="memproto">
204
<table class="memname">
206
<td class="memname">#define GETPRIV</td>
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->devicePrivate))->private
216
<a class="anchor" id="a837722a322e811d5e42242655f277b87"></a><!-- doxytag: member="lnx-ms.c::LOG0" ref="a837722a322e811d5e42242655f277b87" args="(f)" -->
217
<div class="memitem">
218
<div class="memproto">
219
<table class="memname">
221
<td class="memname">#define LOG0</td>
223
<td class="paramtype"> </td>
224
<td class="paramname">f</td>
225
<td> ) </td>
226
<td> dmxLog(dmxDebug,f)</td>
234
<a class="anchor" id="aab4b3434c36117a2ecdddec40716d97a"></a><!-- doxytag: member="lnx-ms.c::LOG1" ref="aab4b3434c36117a2ecdddec40716d97a" args="(f, a)" -->
235
<div class="memitem">
236
<div class="memproto">
237
<table class="memname">
239
<td class="memname">#define LOG1</td>
241
<td class="paramtype"> </td>
242
<td class="paramname">f, </td>
245
<td class="paramkey"></td>
247
<td class="paramtype"> </td>
248
<td class="paramname">a</td><td> </td>
253
<td></td><td></td><td> dmxLog(dmxDebug,f,a)</td>
261
<a class="anchor" id="a16da5d597d9bfb9e569a9bfb6996382c"></a><!-- doxytag: member="lnx-ms.c::LOG2" ref="a16da5d597d9bfb9e569a9bfb6996382c" args="(f, a, b)" -->
262
<div class="memitem">
263
<div class="memproto">
264
<table class="memname">
266
<td class="memname">#define LOG2</td>
268
<td class="paramtype"> </td>
269
<td class="paramname">f, </td>
272
<td class="paramkey"></td>
274
<td class="paramtype"> </td>
275
<td class="paramname">a, </td>
278
<td class="paramkey"></td>
280
<td class="paramtype"> </td>
281
<td class="paramname">b</td><td> </td>
286
<td></td><td></td><td> dmxLog(dmxDebug,f,a,b)</td>
294
<a class="anchor" id="a8247f0bca25789d2ac27674eb26e223f"></a><!-- doxytag: member="lnx-ms.c::LOG3" ref="a8247f0bca25789d2ac27674eb26e223f" args="(f, a, b, c)" -->
295
<div class="memitem">
296
<div class="memproto">
297
<table class="memname">
299
<td class="memname">#define LOG3</td>
301
<td class="paramtype"> </td>
302
<td class="paramname">f, </td>
305
<td class="paramkey"></td>
307
<td class="paramtype"> </td>
308
<td class="paramname">a, </td>
311
<td class="paramkey"></td>
313
<td class="paramtype"> </td>
314
<td class="paramname">b, </td>
317
<td class="paramkey"></td>
319
<td class="paramtype"> </td>
320
<td class="paramname">c</td><td> </td>
325
<td></td><td></td><td> dmxLog(dmxDebug,f,a,b,c)</td>
333
<a class="anchor" id="a11a17082bee3b1b8217ce8a12adcf814"></a><!-- doxytag: member="lnx-ms.c::MOTIONPROC" ref="a11a17082bee3b1b8217ce8a12adcf814" args="" -->
334
<div class="memitem">
335
<div class="memproto">
336
<table class="memname">
338
<td class="memname">#define MOTIONPROC <a class="el" href="dmxinputinit_8h.html#a1279820425966adabf5c77357e4a289c">dmxMotionProcPtr</a></td>
346
<a class="anchor" id="a7581da9bfd7ebf4fe3703352df521931"></a><!-- doxytag: member="lnx-ms.c::PRESS" ref="a7581da9bfd7ebf4fe3703352df521931" args="(b)" -->
347
<div class="memitem">
348
<div class="memproto">
349
<table class="memname">
351
<td class="memname">#define PRESS</td>
353
<td class="paramtype"> </td>
354
<td class="paramname">b</td>
355
<td> ) </td>
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)
365
<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>
369
<a class="anchor" id="a2b4d2480737f9eb52f80998518486f01"></a><!-- doxytag: member="lnx-ms.c::RELEASE" ref="a2b4d2480737f9eb52f80998518486f01" args="(b)" -->
370
<div class="memitem">
371
<div class="memproto">
372
<table class="memname">
374
<td class="memname">#define RELEASE</td>
376
<td class="paramtype"> </td>
377
<td class="paramname">b</td>
378
<td> ) </td>
384
<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keywordflow">do</span> { \
385
enqueue(pDev, ButtonRelease, 0, 0, NULL, block); \
386
} <span class="keywordflow">while</span> (0)
388
<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>
392
<hr/><h2>Typedef Documentation</h2>
393
<a class="anchor" id="a25692217bddf2b6c089525b325afccf1"></a><!-- doxytag: member="lnx-ms.c::myPrivate" ref="a25692217bddf2b6c089525b325afccf1" args="" -->
394
<div class="memitem">
395
<div class="memproto">
396
<table class="memname">
398
<td class="memname">typedef struct <a class="el" href="struct__myPrivate.html">_myPrivate</a> <a class="el" href="struct__myPrivate.html">myPrivate</a></td>
406
<hr/><h2>Function Documentation</h2>
407
<a class="anchor" id="a40d253404cd0db2e90bf9e3e6957d2a5"></a><!-- doxytag: member="lnx-ms.c::msLinuxButton" ref="a40d253404cd0db2e90bf9e3e6957d2a5" args="(DevicePtr pDev, ENQUEUEPROC enqueue, int buttons, BLOCK block)" -->
408
<div class="memitem">
409
<div class="memproto">
410
<table class="memname">
412
<td class="memname">static void msLinuxButton </td>
414
<td class="paramtype">DevicePtr </td>
415
<td class="paramname"> <em>pDev</em>, </td>
418
<td class="paramkey"></td>
420
<td class="paramtype">ENQUEUEPROC </td>
421
<td class="paramname"> <em>enqueue</em>, </td>
424
<td class="paramkey"></td>
426
<td class="paramtype">int </td>
427
<td class="paramname"> <em>buttons</em>, </td>
430
<td class="paramkey"></td>
432
<td class="paramtype">BLOCK </td>
433
<td class="paramname"> <em>block</em></td><td> </td>
438
<td></td><td></td><td><code> [static]</code></td>
444
<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>
446
<p>Referenced by <a class="el" href="lnx-ms_8c.html#abad8a6240d6769094e70b92f5d8b72d4">msLinuxRead()</a>.</p>
450
<a class="anchor" id="a7d7777681993bc701468245e42c04282"></a><!-- doxytag: member="lnx-ms.c::msLinuxCreatePrivate" ref="a7d7777681993bc701468245e42c04282" args="(DeviceIntPtr pMouse)" -->
451
<div class="memitem">
452
<div class="memproto">
453
<table class="memname">
455
<td class="memname">pointer msLinuxCreatePrivate </td>
457
<td class="paramtype">DeviceIntPtr </td>
458
<td class="paramname"> <em>pMouse</em></td>
459
<td> ) </td>
465
<p>Create a private structure for use within this file. </p>
467
<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>
471
<a class="anchor" id="a570d96862061388c5649972b2fa22d75"></a><!-- doxytag: member="lnx-ms.c::msLinuxDestroyPrivate" ref="a570d96862061388c5649972b2fa22d75" args="(pointer priv)" -->
472
<div class="memitem">
473
<div class="memproto">
474
<table class="memname">
476
<td class="memname">void msLinuxDestroyPrivate </td>
478
<td class="paramtype">pointer </td>
479
<td class="paramname"> <em>priv</em></td>
480
<td> ) </td>
486
<p>Destroy a private structure. </p>
490
<a class="anchor" id="ad650b3779315db603085a045405c9d9a"></a><!-- doxytag: member="lnx-ms.c::msLinuxGetInfo" ref="ad650b3779315db603085a045405c9d9a" args="(DevicePtr pDev, DMXLocalInitInfoPtr info)" -->
491
<div class="memitem">
492
<div class="memproto">
493
<table class="memname">
495
<td class="memname">void msLinuxGetInfo </td>
497
<td class="paramtype">DevicePtr </td>
498
<td class="paramname"> <em>pDev</em>, </td>
501
<td class="paramkey"></td>
503
<td class="paramtype"><a class="el" href="struct__DMXLocalInitInfo.html">DMXLocalInitInfoPtr</a> </td>
504
<td class="paramname"> <em>info</em></td><td> </td>
509
<td></td><td></td><td></td>
514
<p>Fill the <em>info</em> structure with information needed to initialize <em>pDev</em>. </p>
516
<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>
520
<a class="anchor" id="a04f66d21af929f125fa7d524883700d5"></a><!-- doxytag: member="lnx-ms.c::msLinuxGetMap" ref="a04f66d21af929f125fa7d524883700d5" args="(DevicePtr pDev, unsigned char *map, int *nButtons)" -->
521
<div class="memitem">
522
<div class="memproto">
523
<table class="memname">
525
<td class="memname">static void msLinuxGetMap </td>
527
<td class="paramtype">DevicePtr </td>
528
<td class="paramname"> <em>pDev</em>, </td>
531
<td class="paramkey"></td>
533
<td class="paramtype">unsigned char * </td>
534
<td class="paramname"> <em>map</em>, </td>
537
<td class="paramkey"></td>
539
<td class="paramtype">int * </td>
540
<td class="paramname"> <em>nButtons</em></td><td> </td>
545
<td></td><td></td><td><code> [static]</code></td>
551
<p>Referenced by <a class="el" href="lnx-ms_8h.html#ad650b3779315db603085a045405c9d9a">msLinuxGetInfo()</a>.</p>
555
<a class="anchor" id="a0afb23673c5b1bc695c09f3f3bd75a4b"></a><!-- doxytag: member="lnx-ms.c::msLinuxInit" ref="a0afb23673c5b1bc695c09f3f3bd75a4b" args="(DevicePtr pDev)" -->
556
<div class="memitem">
557
<div class="memproto">
558
<table class="memname">
560
<td class="memname">void msLinuxInit </td>
562
<td class="paramtype">DevicePtr </td>
563
<td class="paramname"> <em>pDev</em></td>
564
<td> ) </td>
570
<p>Initialize <em>pDev</em>. </p>
572
<p>References <a class="el" href="lnx-ms_8c.html#a11bcea7c6bc7dbe400a3855f5b8676ce">FATAL1</a>, and <a class="el" href="dmxsigio_8c.html#a39d33ce33804efd4d52606d59071c6d8">O_NONBLOCK</a>.</p>
574
<p>Referenced by <a class="el" href="lnx-ms_8h.html#ad8f116275f80b5143bc6fe8806cf1298">msLinuxOn()</a>.</p>
578
<a class="anchor" id="a834a356a0e28d90699a8178154588e09"></a><!-- doxytag: member="lnx-ms.c::msLinuxOff" ref="a834a356a0e28d90699a8178154588e09" args="(DevicePtr pDev)" -->
579
<div class="memitem">
580
<div class="memproto">
581
<table class="memname">
583
<td class="memname">void msLinuxOff </td>
585
<td class="paramtype">DevicePtr </td>
586
<td class="paramname"> <em>pDev</em></td>
587
<td> ) </td>
593
<p>Turn <em>pDev</em> off (i.e., stop taking input from <em>pDev</em>). </p>
597
<a class="anchor" id="ad8f116275f80b5143bc6fe8806cf1298"></a><!-- doxytag: member="lnx-ms.c::msLinuxOn" ref="ad8f116275f80b5143bc6fe8806cf1298" args="(DevicePtr pDev)" -->
598
<div class="memitem">
599
<div class="memproto">
600
<table class="memname">
602
<td class="memname">int msLinuxOn </td>
604
<td class="paramtype">DevicePtr </td>
605
<td class="paramname"> <em>pDev</em></td>
606
<td> ) </td>
612
<p>Turn <em>pDev</em> on (i.e., take input from <em>pDev</em>). </p>
614
<p>References <a class="el" href="lnx-ms_8c.html#a11bcea7c6bc7dbe400a3855f5b8676ce">FATAL1</a>, and <a class="el" href="lnx-ms_8c.html#a0afb23673c5b1bc695c09f3f3bd75a4b">msLinuxInit()</a>.</p>
618
<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)" -->
619
<div class="memitem">
620
<div class="memproto">
621
<table class="memname">
623
<td class="memname">void msLinuxRead </td>
625
<td class="paramtype">DevicePtr </td>
626
<td class="paramname"> <em>pDev</em>, </td>
629
<td class="paramkey"></td>
631
<td class="paramtype">MOTIONPROC </td>
632
<td class="paramname"> <em>motion</em>, </td>
635
<td class="paramkey"></td>
637
<td class="paramtype">ENQUEUEPROC </td>
638
<td class="paramname"> <em>enqueue</em>, </td>
641
<td class="paramkey"></td>
643
<td class="paramtype">CHECKPROC </td>
644
<td class="paramname"> <em>checkspecial</em>, </td>
647
<td class="paramkey"></td>
649
<td class="paramtype">BLOCK </td>
650
<td class="paramname"> <em>block</em></td><td> </td>
655
<td></td><td></td><td></td>
660
<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>
662
<p>References <a class="el" href="lnx-ms_8c.html#a40d253404cd0db2e90bf9e3e6957d2a5">msLinuxButton()</a>, and <a class="el" href="lnx-ms_8c.html#a71addb6f47215d1e4bf1452fdeeb5081">msLinuxReadBytes()</a>.</p>
666
<a class="anchor" id="a71addb6f47215d1e4bf1452fdeeb5081"></a><!-- doxytag: member="lnx-ms.c::msLinuxReadBytes" ref="a71addb6f47215d1e4bf1452fdeeb5081" args="(int fd, unsigned char *buf, int len, int min)" -->
667
<div class="memitem">
668
<div class="memproto">
669
<table class="memname">
671
<td class="memname">static int msLinuxReadBytes </td>
673
<td class="paramtype">int </td>
674
<td class="paramname"> <em>fd</em>, </td>
677
<td class="paramkey"></td>
679
<td class="paramtype">unsigned char * </td>
680
<td class="paramname"> <em>buf</em>, </td>
683
<td class="paramkey"></td>
685
<td class="paramtype">int </td>
686
<td class="paramname"> <em>len</em>, </td>
689
<td class="paramkey"></td>
691
<td class="paramtype">int </td>
692
<td class="paramname"> <em>min</em></td><td> </td>
697
<td></td><td></td><td><code> [static]</code></td>
703
<p>Referenced by <a class="el" href="lnx-ms_8c.html#abad8a6240d6769094e70b92f5d8b72d4">msLinuxRead()</a>.</p>
707
<a class="anchor" id="af83993c8cc498cbd9f91737beefb5ea3"></a><!-- doxytag: member="lnx-ms.c::msLinuxVTPostSwitch" ref="af83993c8cc498cbd9f91737beefb5ea3" args="(pointer p)" -->
708
<div class="memitem">
709
<div class="memproto">
710
<table class="memname">
712
<td class="memname">void msLinuxVTPostSwitch </td>
714
<td class="paramtype">pointer </td>
715
<td class="paramname"> <em>p</em></td>
716
<td> ) </td>
722
<p>Currently unused hook called after returning from a VT switch. </p>
726
<a class="anchor" id="a1ce83df54082f3196ac29e36dea47fc5"></a><!-- doxytag: member="lnx-ms.c::msLinuxVTPreSwitch" ref="a1ce83df54082f3196ac29e36dea47fc5" args="(pointer p)" -->
727
<div class="memitem">
728
<div class="memproto">
729
<table class="memname">
731
<td class="memname">void msLinuxVTPreSwitch </td>
733
<td class="paramtype">pointer </td>
734
<td class="paramname"> <em>p</em></td>
735
<td> ) </td>
741
<p>Currently unused hook called prior to an VT switch. </p>
749
Generated June 29, 2004 for <a
750
href="http://dmx.sourceforge.net">Distributed Multihead X</a> by
751
<a href="http://www.doxygen.org/index.html">doxygen</a>