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.4 -->
10  <div id="navrow1" class="tabs">
11    <ul class="tablist">
12      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
13      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
14      <li class="current"><a href="files.html"><span>Files</span></a></li>
15    </ul>
16  </div>
17  <div id="navrow2" class="tabs2">
18    <ul class="tablist">
19      <li><a href="files.html"><span>File&#160;List</span></a></li>
20      <li><a href="globals.html"><span>Globals</span></a></li>
21    </ul>
22  </div>
23</div>
24<div id="side-nav" class="ui-resizable side-nav-resizable">
25  <div id="nav-tree">
26    <div id="nav-tree-contents">
27    </div>
28  </div>
29  <div id="splitbar" style="-moz-user-select:none;" 
30       class="ui-resizable-handle">
31  </div>
32</div>
33<script type="text/javascript">
34  initNavTree('usb-private_8h.html','');
35</script>
36<div id="doc-content">
37<div class="header">
38  <div class="headertitle">
39<div class="title">usb-private.h</div>  </div>
40</div>
41<div class="contents">
42<a href="usb-private_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
43<a name="l00002"></a>00002 <span class="comment"> * Copyright 2002 Red Hat Inc., Durham, North Carolina.</span>
44<a name="l00003"></a>00003 <span class="comment"> *</span>
45<a name="l00004"></a>00004 <span class="comment"> * All Rights Reserved.</span>
46<a name="l00005"></a>00005 <span class="comment"> *</span>
47<a name="l00006"></a>00006 <span class="comment"> * Permission is hereby granted, free of charge, to any person obtaining</span>
48<a name="l00007"></a>00007 <span class="comment"> * a copy of this software and associated documentation files (the</span>
49<a name="l00008"></a>00008 <span class="comment"> * &quot;Software&quot;), to deal in the Software without restriction, including</span>
50<a name="l00009"></a>00009 <span class="comment"> * without limitation on the rights to use, copy, modify, merge,</span>
51<a name="l00010"></a>00010 <span class="comment"> * publish, distribute, sublicense, and/or sell copies of the Software,</span>
52<a name="l00011"></a>00011 <span class="comment"> * and to permit persons to whom the Software is furnished to do so,</span>
53<a name="l00012"></a>00012 <span class="comment"> * subject to the following conditions:</span>
54<a name="l00013"></a>00013 <span class="comment"> *</span>
55<a name="l00014"></a>00014 <span class="comment"> * The above copyright notice and this permission notice (including the</span>
56<a name="l00015"></a>00015 <span class="comment"> * next paragraph) shall be included in all copies or substantial</span>
57<a name="l00016"></a>00016 <span class="comment"> * portions of the Software.</span>
58<a name="l00017"></a>00017 <span class="comment"> *</span>
59<a name="l00018"></a>00018 <span class="comment"> * THE SOFTWARE IS PROVIDED &quot;AS IS&quot;, WITHOUT WARRANTY OF ANY KIND,</span>
60<a name="l00019"></a>00019 <span class="comment"> * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF</span>
61<a name="l00020"></a>00020 <span class="comment"> * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND</span>
62<a name="l00021"></a>00021 <span class="comment"> * NON-INFRINGEMENT.  IN NO EVENT SHALL RED HAT AND/OR THEIR SUPPLIERS</span>
63<a name="l00022"></a>00022 <span class="comment"> * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN</span>
64<a name="l00023"></a>00023 <span class="comment"> * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN</span>
65<a name="l00024"></a>00024 <span class="comment"> * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE</span>
66<a name="l00025"></a>00025 <span class="comment"> * SOFTWARE.</span>
67<a name="l00026"></a>00026 <span class="comment"> */</span>
68<a name="l00027"></a>00027 
69<a name="l00028"></a>00028 <span class="comment">/*</span>
70<a name="l00029"></a>00029 <span class="comment"> * Authors:</span>
71<a name="l00030"></a>00030 <span class="comment"> *   Rickard E. (Rik) Faith &lt;faith@redhat.com&gt;</span>
72<a name="l00031"></a>00031 <span class="comment"> *</span>
73<a name="l00032"></a>00032 <span class="comment"> */</span>
74<a name="l00033"></a>00033 
75<a name="l00040"></a>00040 <span class="preprocessor">#ifndef _USB_PRIVATE_H_</span>
76<a name="l00041"></a>00041 <span class="preprocessor"></span><span class="preprocessor">#define _USB_PRIVATE_H_</span>
77<a name="l00042"></a>00042 <span class="preprocessor"></span>
78<a name="l00043"></a>00043 <span class="preprocessor">#include &quot;<a class="code" href="dmxinputinit_8h.html">dmxinputinit.h</a>&quot;</span>
79<a name="l00044"></a>00044 <span class="preprocessor">#include &quot;inputstr.h&quot;</span>
80<a name="l00045"></a>00045 <span class="preprocessor">#include &lt;X11/Xos.h&gt;</span>
81<a name="l00046"></a>00046 <span class="preprocessor">#include &lt;errno.h&gt;</span>
82<a name="l00047"></a>00047 <span class="preprocessor">#include &lt;linux/input.h&gt;</span>
83<a name="l00048"></a>00048 <span class="preprocessor">#include &quot;<a class="code" href="usb-common_8h.html">usb-common.h</a>&quot;</span>
84<a name="l00049"></a>00049 
85<a name="l00050"></a>00050                                 <span class="comment">/*  Support for force feedback was</span>
86<a name="l00051"></a>00051 <span class="comment">                                 *  introduced in Linxu 2.4.10 */</span>
87<a name="l00052"></a>00052 <span class="preprocessor">#ifndef EV_MSC</span>
88<a name="l00053"></a><a class="code" href="usb-private_8h.html#af2e56f461a160409ab75afaa916beebf">00053</a> <span class="preprocessor"></span><span class="preprocessor">#define EV_MSC      0x04</span>
89<a name="l00054"></a>00054 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
90<a name="l00055"></a>00055 <span class="preprocessor"></span><span class="preprocessor">#ifndef EV_FF</span>
91<a name="l00056"></a><a class="code" href="usb-private_8h.html#a97886fd107ad9e34bf130fe2e8a5799a">00056</a> <span class="preprocessor"></span><span class="preprocessor">#define EV_FF       0x15</span>
92<a name="l00057"></a>00057 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
93<a name="l00058"></a>00058 <span class="preprocessor"></span><span class="preprocessor">#ifndef LED_SLEEP</span>
94<a name="l00059"></a><a class="code" href="usb-private_8h.html#ad578ee0c4ea73206378c55bba1135e84">00059</a> <span class="preprocessor"></span><span class="preprocessor">#define LED_SLEEP   0x05</span>
95<a name="l00060"></a>00060 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
96<a name="l00061"></a>00061 <span class="preprocessor"></span><span class="preprocessor">#ifndef LED_SUSPEND</span>
97<a name="l00062"></a><a class="code" href="usb-private_8h.html#a59fd9fe6c0cd23e8154bc7578d3676a5">00062</a> <span class="preprocessor"></span><span class="preprocessor">#define LED_SUSPEND 0x06</span>
98<a name="l00063"></a>00063 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
99<a name="l00064"></a>00064 <span class="preprocessor"></span><span class="preprocessor">#ifndef LED_MUTE</span>
100<a name="l00065"></a><a class="code" href="usb-private_8h.html#a06e2b597089e33458df03d81fa441995">00065</a> <span class="preprocessor"></span><span class="preprocessor">#define LED_MUTE    0x07</span>
101<a name="l00066"></a>00066 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
102<a name="l00067"></a>00067 <span class="preprocessor"></span><span class="preprocessor">#ifndef LED_MISC</span>
103<a name="l00068"></a><a class="code" href="usb-private_8h.html#acc1dccaea09503c64e9dfb635e19b29a">00068</a> <span class="preprocessor"></span><span class="preprocessor">#define LED_MISC    0x08</span>
104<a name="l00069"></a>00069 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
105<a name="l00070"></a>00070 <span class="preprocessor"></span><span class="preprocessor">#ifndef BTN_DEAD</span>
106<a name="l00071"></a><a class="code" href="usb-private_8h.html#a0774f9bbd6ba5b888d42a088b906deaf">00071</a> <span class="preprocessor"></span><span class="preprocessor">#define BTN_DEAD    0x12f</span>
107<a name="l00072"></a>00072 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
108<a name="l00073"></a>00073 <span class="preprocessor"></span><span class="preprocessor">#ifndef BTN_THUMBL</span>
109<a name="l00074"></a><a class="code" href="usb-private_8h.html#ad7efb66d8b7e7e5ef815d869534a769e">00074</a> <span class="preprocessor"></span><span class="preprocessor">#define BTN_THUMBL  0x13d</span>
110<a name="l00075"></a>00075 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
111<a name="l00076"></a>00076 <span class="preprocessor"></span><span class="preprocessor">#ifndef BTN_THUMBR</span>
112<a name="l00077"></a><a class="code" href="usb-private_8h.html#ab637d656fd23697017c9b50be714119d">00077</a> <span class="preprocessor"></span><span class="preprocessor">#define BTN_THUMBR  0x13e</span>
113<a name="l00078"></a>00078 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
114<a name="l00079"></a>00079 <span class="preprocessor"></span><span class="preprocessor">#ifndef MSC_SERIAL</span>
115<a name="l00080"></a><a class="code" href="usb-private_8h.html#af0896a7858b26c8c2eb9d8406f2aa32c">00080</a> <span class="preprocessor"></span><span class="preprocessor">#define MSC_SERIAL  0x00</span>
116<a name="l00081"></a>00081 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
117<a name="l00082"></a>00082 <span class="preprocessor"></span><span class="preprocessor">#ifndef MSC_MAX</span>
118<a name="l00083"></a><a class="code" href="usb-private_8h.html#abe411125a4bc2a57b8656a3d44acfc0d">00083</a> <span class="preprocessor"></span><span class="preprocessor">#define MSC_MAX     0x07</span>
119<a name="l00084"></a>00084 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
120<a name="l00085"></a>00085 <span class="preprocessor"></span>
121<a name="l00086"></a>00086                                 <span class="comment">/* Support for older kernels. */</span>
122<a name="l00087"></a>00087 <span class="preprocessor">#ifndef ABS_WHEEL</span>
123<a name="l00088"></a><a class="code" href="usb-private_8h.html#abc57d88f908f35bd3c82ba7dff0d97e7">00088</a> <span class="preprocessor"></span><span class="preprocessor">#define ABS_WHEEL   0x08</span>
124<a name="l00089"></a>00089 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
125<a name="l00090"></a>00090 <span class="preprocessor"></span><span class="preprocessor">#ifndef ABS_GAS</span>
126<a name="l00091"></a><a class="code" href="usb-private_8h.html#acf2960996b3a73cfa447e18a655690c5">00091</a> <span class="preprocessor"></span><span class="preprocessor">#define ABS_GAS     0x09</span>
127<a name="l00092"></a>00092 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
128<a name="l00093"></a>00093 <span class="preprocessor"></span><span class="preprocessor">#ifndef ABS_BRAKE</span>
129<a name="l00094"></a><a class="code" href="usb-private_8h.html#a28f782ce9e5d1e3cff987901a7bf6823">00094</a> <span class="preprocessor"></span><span class="preprocessor">#define ABS_BRAKE   0x0a</span>
130<a name="l00095"></a>00095 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
131<a name="l00096"></a>00096 <span class="preprocessor"></span>
132<a name="l00097"></a><a class="code" href="usb-private_8h.html#a4551482d17e969e4de70a669be3afc74">00097</a> <span class="preprocessor">#define NUM_STATE_ENTRIES (256/32)</span>
133<a name="l00098"></a>00098 <span class="preprocessor"></span>
134<a name="l00099"></a>00099 <span class="comment">/* Private area for USB devices. */</span>
135<a name="l00100"></a>00100 <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct__myPrivate.html">_myPrivate</a> {
136<a name="l00101"></a><a class="code" href="struct__myPrivate.html#ae08ddb2f15fe104faf25f51f05c26033">00101</a>     DeviceIntPtr   <a class="code" href="struct__myPrivate.html#ae08ddb2f15fe104faf25f51f05c26033">pDevice</a>;                 
137<a name="l00102"></a>00102     <span class="keywordtype">int</span>            <a class="code" href="struct__myPrivate.html#a6b26eb0acc0b932c8dee8277501e6273">fd</a>;                      
138<a name="l00103"></a><a class="code" href="struct__myPrivate.html#a5e71754533023837d932a24bd25ff602">00103</a>     <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>  <a class="code" href="struct__myPrivate.html#a5e71754533023837d932a24bd25ff602">mask</a>[EV_MAX/8 + 1];      
139<a name="l00104"></a><a class="code" href="struct__myPrivate.html#af4532a0338cfa7325e8e3b2e3deb770f">00104</a>     <span class="keywordtype">int</span>            <a class="code" href="struct__myPrivate.html#af4532a0338cfa7325e8e3b2e3deb770f">numRel</a>, <a class="code" href="struct__myPrivate.html#a2ef864f533851d1c4a2a9f6c44400692">numAbs</a>, <a class="code" href="struct__myPrivate.html#a06ca4d02bb8f2a1795251f496ffd3cb2">numLeds</a>; 
140<a name="l00105"></a><a class="code" href="struct__myPrivate.html#ad2d732244cdd84a0cc50bec620d50846">00105</a>     <span class="keywordtype">int</span>            <a class="code" href="struct__myPrivate.html#ad2d732244cdd84a0cc50bec620d50846">relmap</a>[<a class="code" href="dmxevents_8c.html#a144e2f1a618a0d14e2c9ce4fda50104a">DMX_MAX_AXES</a>];    
141<a name="l00106"></a><a class="code" href="struct__myPrivate.html#afc48f38bcefc200e681475c06fdacad6">00106</a>     <span class="keywordtype">int</span>            <a class="code" href="struct__myPrivate.html#afc48f38bcefc200e681475c06fdacad6">absmap</a>[<a class="code" href="dmxevents_8c.html#a144e2f1a618a0d14e2c9ce4fda50104a">DMX_MAX_AXES</a>];    
142<a name="l00108"></a>00108     CARD32         <a class="code" href="struct__myPrivate.html#a35c7b19223e75cef1eebc0467fb2514d">kbdState</a>[<a class="code" href="usb-private_8h.html#a4551482d17e969e4de70a669be3afc74">NUM_STATE_ENTRIES</a>]; 
143<a name="l00109"></a>00109     DeviceIntPtr   <a class="code" href="struct__myPrivate.html#a1f72c73bb97bf77b8f5359eabf81fb79">pKeyboard</a>;                   
144<a name="l00111"></a>00111     <span class="keywordtype">int</span>            <a class="code" href="struct__myPrivate.html#ac184b2b8c6283dc678512c5f5990c0f2">pitch</a>;       
145<a name="l00112"></a>00112     <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span>  <a class="code" href="struct__myPrivate.html#a6a27aa80849de66952d95ab65914d6da">duration</a>;    
146<a name="l00114"></a>00114     <span class="comment">/* FIXME: dmxInput is never initialized */</span>
147<a name="l00115"></a><a class="code" href="struct__myPrivate.html#a0d76644b5072fa20b8470cc0f7bb8958">00115</a>     <a class="code" href="struct__DMXInputInfo.html">DMXInputInfo</a>   *<a class="code" href="struct__myPrivate.html#a0d76644b5072fa20b8470cc0f7bb8958">dmxInput</a>;   
148<a name="l00116"></a>00116 } <a class="code" href="dmxbackend_8c.html#a25692217bddf2b6c089525b325afccf1">myPrivate</a>;
149<a name="l00117"></a>00117 <span class="preprocessor">#endif</span>
150</pre></div></div>
151</div>
152  <div id="nav-path" class="navpath">
153    <ul>
154      <li class="navelem"><a class="el" href="usb-private_8h.html">usb-private.h</a>      </li>
155    <hr>
156    <address>
157      <small>
158        Generated June 29, 2004 for <a
159        href="http://dmx.sourceforge.net">Distributed Multihead X</a> by
160        <a href="http://www.doxygen.org/index.html">doxygen</a>
161        1.3.4.
162      </small>
163    </addres>
164    </hr>
165  </body>
166</html>
167