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 Page</span></a></li> 13 <li><a href="annotated.html"><span>Data 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 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"> * "Software"), 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 "AS IS", 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 <faith@redhat.com></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 "<a class="code" href="dmxinputinit_8h.html">dmxinputinit.h</a>"</span> 79<a name="l00044"></a>00044 <span class="preprocessor">#include "inputstr.h"</span> 80<a name="l00045"></a>00045 <span class="preprocessor">#include <X11/Xos.h></span> 81<a name="l00046"></a>00046 <span class="preprocessor">#include <errno.h></span> 82<a name="l00047"></a>00047 <span class="preprocessor">#include <linux/input.h></span> 83<a name="l00048"></a>00048 <span class="preprocessor">#include "<a class="code" href="usb-common_8h.html">usb-common.h</a>"</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