First import
[xorg_rtime.git] / xorg-server-1.4 / hw / dmx / doc / html / lnx-ms_8c.html
blobe77e562a41c74281ae584eac2d2540c2e00947dc
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.3.4 -->
10 <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>
11 <h1>lnx-ms.c File Reference</h1><code>#include "inputstr.h"</code><br>
12 <code>#include "Xos.h"</code><br>
13 <code>#include &lt;errno.h&gt;</code><br>
14 <code>#include &lt;termios.h&gt;</code><br>
15 <code>#include "<a class="el" href="dmxinputinit_8h-source.html">dmxinputinit.h</a>"</code><br>
16 <code>#include "<a class="el" href="lnx-ms_8h-source.html">lnx-ms.h</a>"</code><br>
17 <table border=0 cellpadding=0 cellspacing=0>
18 <tr><td></td></tr>
19 <tr><td colspan=2><br><h2>Data Structures</h2></td></tr>
20 <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>
22 <tr><td colspan=2><br><h2>Functions</h2></td></tr>
23 <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>
25 <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>
27 <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>
29 <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>
31 <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>
33 <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>
35 <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>
37 <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>
39 <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>
41 </table>
42 <hr><a name="_details"></a><h2>Detailed Description</h2>
43 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>
44 <a class="anchor" name="a24" doxytag="lnx-ms.c::msLinuxCreatePrivate" ></a><p>
45 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
46 <tr>
47 <td class="mdRow">
48 <table cellpadding="0" cellspacing="0" border="0">
49 <tr>
50 <td class="md" nowrap valign="top"> pointer msLinuxCreatePrivate </td>
51 <td class="md" valign="top">(&nbsp;</td>
52 <td class="md" nowrap valign="top">DeviceIntPtr&nbsp;</td>
53 <td class="mdname1" valign="top" nowrap> <em>pMouse</em> </td>
54 <td class="md" valign="top">&nbsp;)&nbsp;</td>
55 <td class="md" nowrap></td>
56 </tr>
58 </table>
59 </td>
60 </tr>
61 </table>
62 <table cellspacing=5 cellpadding=0 border=0>
63 <tr>
64 <td>
65 &nbsp;
66 </td>
67 <td>
69 <p>
70 Create a private structure for use within this file. </td>
71 </tr>
72 </table>
73 <a class="anchor" name="a25" doxytag="lnx-ms.c::msLinuxDestroyPrivate" ></a><p>
74 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
75 <tr>
76 <td class="mdRow">
77 <table cellpadding="0" cellspacing="0" border="0">
78 <tr>
79 <td class="md" nowrap valign="top"> void msLinuxDestroyPrivate </td>
80 <td class="md" valign="top">(&nbsp;</td>
81 <td class="md" nowrap valign="top">pointer&nbsp;</td>
82 <td class="mdname1" valign="top" nowrap> <em>priv</em> </td>
83 <td class="md" valign="top">&nbsp;)&nbsp;</td>
84 <td class="md" nowrap></td>
85 </tr>
87 </table>
88 </td>
89 </tr>
90 </table>
91 <table cellspacing=5 cellpadding=0 border=0>
92 <tr>
93 <td>
94 &nbsp;
95 </td>
96 <td>
98 <p>
99 Destroy a private structure. </td>
100 </tr>
101 </table>
102 <a class="anchor" name="a26" doxytag="lnx-ms.c::msLinuxGetInfo" ></a><p>
103 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
104 <tr>
105 <td class="mdRow">
106 <table cellpadding="0" cellspacing="0" border="0">
107 <tr>
108 <td class="md" nowrap valign="top"> void msLinuxGetInfo </td>
109 <td class="md" valign="top">(&nbsp;</td>
110 <td class="md" nowrap valign="top">DevicePtr&nbsp;</td>
111 <td class="mdname" nowrap> <em>pDev</em>, </td>
112 </tr>
113 <tr>
114 <td></td>
115 <td></td>
116 <td class="md" nowrap><a class="el" href="struct__DMXLocalInitInfo.html">DMXLocalInitInfoPtr</a>&nbsp;</td>
117 <td class="mdname" nowrap> <em>info</em></td>
118 </tr>
119 <tr>
120 <td></td>
121 <td class="md">)&nbsp;</td>
122 <td class="md" colspan="2"></td>
123 </tr>
125 </table>
126 </td>
127 </tr>
128 </table>
129 <table cellspacing=5 cellpadding=0 border=0>
130 <tr>
131 <td>
132 &nbsp;
133 </td>
134 <td>
137 Fill the <em>info</em> structure with information needed to initialize <em>pDev</em>. </td>
138 </tr>
139 </table>
140 <a class="anchor" name="a18" doxytag="lnx-ms.c::msLinuxInit" ></a><p>
141 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
142 <tr>
143 <td class="mdRow">
144 <table cellpadding="0" cellspacing="0" border="0">
145 <tr>
146 <td class="md" nowrap valign="top"> void msLinuxInit </td>
147 <td class="md" valign="top">(&nbsp;</td>
148 <td class="md" nowrap valign="top">DevicePtr&nbsp;</td>
149 <td class="mdname1" valign="top" nowrap> <em>pDev</em> </td>
150 <td class="md" valign="top">&nbsp;)&nbsp;</td>
151 <td class="md" nowrap></td>
152 </tr>
154 </table>
155 </td>
156 </tr>
157 </table>
158 <table cellspacing=5 cellpadding=0 border=0>
159 <tr>
160 <td>
161 &nbsp;
162 </td>
163 <td>
166 Initialize <em>pDev</em>. </td>
167 </tr>
168 </table>
169 <a class="anchor" name="a20" doxytag="lnx-ms.c::msLinuxOff" ></a><p>
170 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
171 <tr>
172 <td class="mdRow">
173 <table cellpadding="0" cellspacing="0" border="0">
174 <tr>
175 <td class="md" nowrap valign="top"> void msLinuxOff </td>
176 <td class="md" valign="top">(&nbsp;</td>
177 <td class="md" nowrap valign="top">DevicePtr&nbsp;</td>
178 <td class="mdname1" valign="top" nowrap> <em>pDev</em> </td>
179 <td class="md" valign="top">&nbsp;)&nbsp;</td>
180 <td class="md" nowrap></td>
181 </tr>
183 </table>
184 </td>
185 </tr>
186 </table>
187 <table cellspacing=5 cellpadding=0 border=0>
188 <tr>
189 <td>
190 &nbsp;
191 </td>
192 <td>
195 Turn <em>pDev</em> off (i.e., stop taking input from <em>pDev</em>). </td>
196 </tr>
197 </table>
198 <a class="anchor" name="a19" doxytag="lnx-ms.c::msLinuxOn" ></a><p>
199 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
200 <tr>
201 <td class="mdRow">
202 <table cellpadding="0" cellspacing="0" border="0">
203 <tr>
204 <td class="md" nowrap valign="top"> int msLinuxOn </td>
205 <td class="md" valign="top">(&nbsp;</td>
206 <td class="md" nowrap valign="top">DevicePtr&nbsp;</td>
207 <td class="mdname1" valign="top" nowrap> <em>pDev</em> </td>
208 <td class="md" valign="top">&nbsp;)&nbsp;</td>
209 <td class="md" nowrap></td>
210 </tr>
212 </table>
213 </td>
214 </tr>
215 </table>
216 <table cellspacing=5 cellpadding=0 border=0>
217 <tr>
218 <td>
219 &nbsp;
220 </td>
221 <td>
224 Turn <em>pDev</em> on (i.e., take input from <em>pDev</em>). </td>
225 </tr>
226 </table>
227 <a class="anchor" name="a17" doxytag="lnx-ms.c::msLinuxRead" ></a><p>
228 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
229 <tr>
230 <td class="mdRow">
231 <table cellpadding="0" cellspacing="0" border="0">
232 <tr>
233 <td class="md" nowrap valign="top"> void msLinuxRead </td>
234 <td class="md" valign="top">(&nbsp;</td>
235 <td class="md" nowrap valign="top">DevicePtr&nbsp;</td>
236 <td class="mdname" nowrap> <em>pDev</em>, </td>
237 </tr>
238 <tr>
239 <td></td>
240 <td></td>
241 <td class="md" nowrap>MOTIONPROC&nbsp;</td>
242 <td class="mdname" nowrap> <em>motion</em>, </td>
243 </tr>
244 <tr>
245 <td></td>
246 <td></td>
247 <td class="md" nowrap>ENQUEUEPROC&nbsp;</td>
248 <td class="mdname" nowrap> <em>enqueue</em>, </td>
249 </tr>
250 <tr>
251 <td></td>
252 <td></td>
253 <td class="md" nowrap>CHECKPROC&nbsp;</td>
254 <td class="mdname" nowrap> <em>checkspecial</em>, </td>
255 </tr>
256 <tr>
257 <td></td>
258 <td></td>
259 <td class="md" nowrap>BLOCK&nbsp;</td>
260 <td class="mdname" nowrap> <em>block</em></td>
261 </tr>
262 <tr>
263 <td></td>
264 <td class="md">)&nbsp;</td>
265 <td class="md" colspan="2"></td>
266 </tr>
268 </table>
269 </td>
270 </tr>
271 </table>
272 <table cellspacing=5 cellpadding=0 border=0>
273 <tr>
274 <td>
275 &nbsp;
276 </td>
277 <td>
280 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>
281 </tr>
282 </table>
283 <a class="anchor" name="a23" doxytag="lnx-ms.c::msLinuxVTPostSwitch" ></a><p>
284 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
285 <tr>
286 <td class="mdRow">
287 <table cellpadding="0" cellspacing="0" border="0">
288 <tr>
289 <td class="md" nowrap valign="top"> void msLinuxVTPostSwitch </td>
290 <td class="md" valign="top">(&nbsp;</td>
291 <td class="md" nowrap valign="top">pointer&nbsp;</td>
292 <td class="mdname1" valign="top" nowrap> <em>p</em> </td>
293 <td class="md" valign="top">&nbsp;)&nbsp;</td>
294 <td class="md" nowrap></td>
295 </tr>
297 </table>
298 </td>
299 </tr>
300 </table>
301 <table cellspacing=5 cellpadding=0 border=0>
302 <tr>
303 <td>
304 &nbsp;
305 </td>
306 <td>
309 Currently unused hook called after returning from a VT switch. </td>
310 </tr>
311 </table>
312 <a class="anchor" name="a22" doxytag="lnx-ms.c::msLinuxVTPreSwitch" ></a><p>
313 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
314 <tr>
315 <td class="mdRow">
316 <table cellpadding="0" cellspacing="0" border="0">
317 <tr>
318 <td class="md" nowrap valign="top"> void msLinuxVTPreSwitch </td>
319 <td class="md" valign="top">(&nbsp;</td>
320 <td class="md" nowrap valign="top">pointer&nbsp;</td>
321 <td class="mdname1" valign="top" nowrap> <em>p</em> </td>
322 <td class="md" valign="top">&nbsp;)&nbsp;</td>
323 <td class="md" nowrap></td>
324 </tr>
326 </table>
327 </td>
328 </tr>
329 </table>
330 <table cellspacing=5 cellpadding=0 border=0>
331 <tr>
332 <td>
333 &nbsp;
334 </td>
335 <td>
338 Currently unused hook called prior to an VT switch. </td>
339 </tr>
340 </table>
341 <hr>
342 <address>
343 <small>
344 Generated June 29, 2004 for <a
345 href="http://dmx.sourceforge.net">Distributed Multihead X</a> by
346 <a href="http://www.doxygen.org/index.html">doxygen</a>
347 1.3.4.
348 </small>
349 </addres>
350 </hr>
351 </body>
352 </html>