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.3.4 -->
10 <div class=
"qindex"><a class=
"qindex" href=
"main.html">Main
Page
</a> |
<a class=
"qindex" href=
"classes.html">Alphabetical
List
</a> |
<a class=
"qindex" href=
"annotated.html">Data
Structures
</a> |
<a class=
"qindex" href=
"files.html">File
List
</a> |
<a class=
"qindex" href=
"functions.html">Data
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
<errno.h
></code><br>
14 <code>#include
<termios.h
></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>
19 <tr><td colspan=
2><br><h2>Data Structures
</h2></td></tr>
20 <tr><td class=
"memItemLeft" nowrap align=right valign=top
>struct
</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
</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
</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
</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
</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
</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
</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
</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
</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
</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>
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">
48 <table cellpadding=
"0" cellspacing=
"0" border=
"0">
50 <td class=
"md" nowrap
valign=
"top"> pointer msLinuxCreatePrivate
</td>
51 <td class=
"md" valign=
"top">(
</td>
52 <td class=
"md" nowrap
valign=
"top">DeviceIntPtr
</td>
53 <td class=
"mdname1" valign=
"top" nowrap
> <em>pMouse
</em> </td>
54 <td class=
"md" valign=
"top"> )
</td>
55 <td class=
"md" nowrap
></td>
62 <table cellspacing=
5 cellpadding=
0 border=
0>
70 Create a private structure for use within this file.
</td>
73 <a class=
"anchor" name=
"a25" doxytag=
"lnx-ms.c::msLinuxDestroyPrivate" ></a><p>
74 <table class=
"mdTable" width=
"100%" cellpadding=
"2" cellspacing=
"0">
77 <table cellpadding=
"0" cellspacing=
"0" border=
"0">
79 <td class=
"md" nowrap
valign=
"top"> void msLinuxDestroyPrivate
</td>
80 <td class=
"md" valign=
"top">(
</td>
81 <td class=
"md" nowrap
valign=
"top">pointer
</td>
82 <td class=
"mdname1" valign=
"top" nowrap
> <em>priv
</em> </td>
83 <td class=
"md" valign=
"top"> )
</td>
84 <td class=
"md" nowrap
></td>
91 <table cellspacing=
5 cellpadding=
0 border=
0>
99 Destroy a private structure.
</td>
102 <a class=
"anchor" name=
"a26" doxytag=
"lnx-ms.c::msLinuxGetInfo" ></a><p>
103 <table class=
"mdTable" width=
"100%" cellpadding=
"2" cellspacing=
"0">
106 <table cellpadding=
"0" cellspacing=
"0" border=
"0">
108 <td class=
"md" nowrap
valign=
"top"> void msLinuxGetInfo
</td>
109 <td class=
"md" valign=
"top">(
</td>
110 <td class=
"md" nowrap
valign=
"top">DevicePtr
</td>
111 <td class=
"mdname" nowrap
> <em>pDev
</em>,
</td>
116 <td class=
"md" nowrap
><a class=
"el" href=
"struct__DMXLocalInitInfo.html">DMXLocalInitInfoPtr
</a> </td>
117 <td class=
"mdname" nowrap
> <em>info
</em></td>
121 <td class=
"md">)
</td>
122 <td class=
"md" colspan=
"2"></td>
129 <table cellspacing=
5 cellpadding=
0 border=
0>
137 Fill the
<em>info
</em> structure with information needed to initialize
<em>pDev
</em>.
</td>
140 <a class=
"anchor" name=
"a18" doxytag=
"lnx-ms.c::msLinuxInit" ></a><p>
141 <table class=
"mdTable" width=
"100%" cellpadding=
"2" cellspacing=
"0">
144 <table cellpadding=
"0" cellspacing=
"0" border=
"0">
146 <td class=
"md" nowrap
valign=
"top"> void msLinuxInit
</td>
147 <td class=
"md" valign=
"top">(
</td>
148 <td class=
"md" nowrap
valign=
"top">DevicePtr
</td>
149 <td class=
"mdname1" valign=
"top" nowrap
> <em>pDev
</em> </td>
150 <td class=
"md" valign=
"top"> )
</td>
151 <td class=
"md" nowrap
></td>
158 <table cellspacing=
5 cellpadding=
0 border=
0>
166 Initialize
<em>pDev
</em>.
</td>
169 <a class=
"anchor" name=
"a20" doxytag=
"lnx-ms.c::msLinuxOff" ></a><p>
170 <table class=
"mdTable" width=
"100%" cellpadding=
"2" cellspacing=
"0">
173 <table cellpadding=
"0" cellspacing=
"0" border=
"0">
175 <td class=
"md" nowrap
valign=
"top"> void msLinuxOff
</td>
176 <td class=
"md" valign=
"top">(
</td>
177 <td class=
"md" nowrap
valign=
"top">DevicePtr
</td>
178 <td class=
"mdname1" valign=
"top" nowrap
> <em>pDev
</em> </td>
179 <td class=
"md" valign=
"top"> )
</td>
180 <td class=
"md" nowrap
></td>
187 <table cellspacing=
5 cellpadding=
0 border=
0>
195 Turn
<em>pDev
</em> off (i.e., stop taking input from
<em>pDev
</em>).
</td>
198 <a class=
"anchor" name=
"a19" doxytag=
"lnx-ms.c::msLinuxOn" ></a><p>
199 <table class=
"mdTable" width=
"100%" cellpadding=
"2" cellspacing=
"0">
202 <table cellpadding=
"0" cellspacing=
"0" border=
"0">
204 <td class=
"md" nowrap
valign=
"top"> int msLinuxOn
</td>
205 <td class=
"md" valign=
"top">(
</td>
206 <td class=
"md" nowrap
valign=
"top">DevicePtr
</td>
207 <td class=
"mdname1" valign=
"top" nowrap
> <em>pDev
</em> </td>
208 <td class=
"md" valign=
"top"> )
</td>
209 <td class=
"md" nowrap
></td>
216 <table cellspacing=
5 cellpadding=
0 border=
0>
224 Turn
<em>pDev
</em> on (i.e., take input from
<em>pDev
</em>).
</td>
227 <a class=
"anchor" name=
"a17" doxytag=
"lnx-ms.c::msLinuxRead" ></a><p>
228 <table class=
"mdTable" width=
"100%" cellpadding=
"2" cellspacing=
"0">
231 <table cellpadding=
"0" cellspacing=
"0" border=
"0">
233 <td class=
"md" nowrap
valign=
"top"> void msLinuxRead
</td>
234 <td class=
"md" valign=
"top">(
</td>
235 <td class=
"md" nowrap
valign=
"top">DevicePtr
</td>
236 <td class=
"mdname" nowrap
> <em>pDev
</em>,
</td>
241 <td class=
"md" nowrap
>MOTIONPROC
</td>
242 <td class=
"mdname" nowrap
> <em>motion
</em>,
</td>
247 <td class=
"md" nowrap
>ENQUEUEPROC
</td>
248 <td class=
"mdname" nowrap
> <em>enqueue
</em>,
</td>
253 <td class=
"md" nowrap
>CHECKPROC
</td>
254 <td class=
"mdname" nowrap
> <em>checkspecial
</em>,
</td>
259 <td class=
"md" nowrap
>BLOCK
</td>
260 <td class=
"mdname" nowrap
> <em>block
</em></td>
264 <td class=
"md">)
</td>
265 <td class=
"md" colspan=
"2"></td>
272 <table cellspacing=
5 cellpadding=
0 border=
0>
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>
283 <a class=
"anchor" name=
"a23" doxytag=
"lnx-ms.c::msLinuxVTPostSwitch" ></a><p>
284 <table class=
"mdTable" width=
"100%" cellpadding=
"2" cellspacing=
"0">
287 <table cellpadding=
"0" cellspacing=
"0" border=
"0">
289 <td class=
"md" nowrap
valign=
"top"> void msLinuxVTPostSwitch
</td>
290 <td class=
"md" valign=
"top">(
</td>
291 <td class=
"md" nowrap
valign=
"top">pointer
</td>
292 <td class=
"mdname1" valign=
"top" nowrap
> <em>p
</em> </td>
293 <td class=
"md" valign=
"top"> )
</td>
294 <td class=
"md" nowrap
></td>
301 <table cellspacing=
5 cellpadding=
0 border=
0>
309 Currently unused hook called after returning from a VT switch.
</td>
312 <a class=
"anchor" name=
"a22" doxytag=
"lnx-ms.c::msLinuxVTPreSwitch" ></a><p>
313 <table class=
"mdTable" width=
"100%" cellpadding=
"2" cellspacing=
"0">
316 <table cellpadding=
"0" cellspacing=
"0" border=
"0">
318 <td class=
"md" nowrap
valign=
"top"> void msLinuxVTPreSwitch
</td>
319 <td class=
"md" valign=
"top">(
</td>
320 <td class=
"md" nowrap
valign=
"top">pointer
</td>
321 <td class=
"mdname1" valign=
"top" nowrap
> <em>p
</em> </td>
322 <td class=
"md" valign=
"top"> )
</td>
323 <td class=
"md" nowrap
></td>
330 <table cellspacing=
5 cellpadding=
0 border=
0>
338 Currently unused hook called prior to an VT switch.
</td>
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>