1" /spaion /formon a 1" href="../linux+v3v2.9/drivers/hid/hid-logitech-dj.h">1" img src="../.static/gfx/right.png" alt=">>">1" /spaion1" spai class="lxr_search">1" 1" input typluehidden" namluenavtarget" n value">1" input typluetext" namluesearch" iduesearch">1" butttiotypluesubmit">Search1" Prefsn /a>1" /spaion /divon form acopti="ajax+*" method="post" onsubmit="return false;">1" input typluehidden" namlueajax_lookup" idueajax_lookup" n value">1 /formon1 div class="headingbotttm">n div iduefile_contents"o
1 /a>#ifndef
 a href="+code=__HID_LOGITECH_DJ_H" class="sref">__HID_LOGITECH_DJ_H /a>1
2 /a>#define
 a href="+code=__HID_LOGITECH_DJ_H" class="sref">__HID_LOGITECH_DJ_H /a>1
3 /a>1
4 /a> spai class="comment">/* /spaion
5 /a> spai class="comment"> *  HID driver for Logitech Unifying receivers /spaion
6 /a> spai class="comment"> * /spaion
7 /a> spai class="comment"> *  Copyright (c) 2011 Logitech /spaion
8 /a> spai class="comment"> */ /spaion
9 /a>1
 7.10a> spai class="comment">/* /spaion
 11 /a> spai class="comment"> * This program is free software; you cai redistribute it and/or modify /spaion
 12 /a> spai class="comment"> * it under the terms of the GNU General Public License versptio2 as /spaion
 13 /a> spai class="comment"> * published by the Free Software Foundaopti. /spaion
 14 /a> spai class="comment"> * /spaion
 15 /a> spai class="comment"> * This program is distributed in the hope that it will be useful, /spaion
 16 /a> spai class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of /spaion
 17 /a> spai class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the /spaion
 18 /a> spai class="comment"> * GNU General Public License for more details. /spaion
 19 /a> spai class="comment"> * /spaion
 2.10a> spai class="comment"> * You should have received a copy of the GNU General Public License /spaion
 21 /a> spai class="comment"> * along with this program; if not, write to the Free Software /spaion
 22 /a> spai class="comment"> * Foundaopti, Inc., 59 Temple Place, Suite 330, Bostti, MA 02111-1307 USA /spaion
 23 /a> spai class="comment"> * /spaion
 24 /a> spai class="comment"> */ /spaion
 25 /a>1
 26 /a>#include <linux/kfifo.h /a>>1
 27 /a>1
 28 /a>#define
 a href="+code=DJ_MAX_PAIRED_DEVICES" class="sref">DJ_MAX_PAIRED_DEVICES /a>                   61
 29 /a>#define
 a href="+code=DJ_MAX_NUMBER_NOTIFICATIONS" class="sref">DJ_MAX_NUMBER_NOTIFICATIONS /a>             81
 30 /a>#define
 a href="+code=DJ_DEVICE_INDEX_MIN" class="sref">DJ_DEVICE_INDEX_MIN /a>                   
 31 /a>#define
 a href="+code=DJ_DEVICE_INDEX_MAX" class="sref">DJ_DEVICE_INDEX_MAX /a>                   
 32 /a>1
 33 /a>#define
 a href="+code=DJREPORT_SHORT_LENGTH" class="sref">DJREPORT_SHORT_LENGTH /a>                   151
 34 /a>#define
 a href="+code=DJREPORT_LONG_LENGTH" class="sref">DJREPORT_LONG_LENGTH /a>                   
 35 /a>1
 36 /a>#define
 a href="+code=REPORT_ID_DJ_SHORT" class="sref">REPORT_ID_DJ_SHORT /a>                   
 37 /a>#define
 a href="+code=REPORT_ID_DJ_LONG" class="sref">REPORT_ID_DJ_LONG /a>                   
 38 /a>1
 39 /a>#define
 a href="+code=REPORT_TYPE_RFREPORT_FIRST" class="sref">REPORT_TYPE_RFREPORT_FIRST /a>              0x011
 40 /a>#define
 a href="+code=REPORT_TYPE_RFREPORT_LAST" class="sref">REPORT_TYPE_RFREPORT_LAST /a>               0x1F1
 41 /a>1
 42 /a> spai class="comment">/* Command Switch to DJ mode */ /spaion
 43 /a>#define
 a href="+code=REPORT_TYPE_CMD_SWITCH" class="sref">REPORT_TYPE_CMD_SWITCH /a>                  0x801
 44 /a>#define
 a href="+code=CMD_SWITCH_PARAM_DEVBITFIELD" class="sref">CMD_SWITCH_PARAM_DEVBITFIELD /a>            0x001
 45 /a>#define
 46 /a>#define
 a href="+code=TIMEOUT_NO_KEEPALIVE" class="sref">TIMEOUT_NO_KEEPALIVE /a>                   
 47 /a>1
 48 /a> spai class="comment">/* Command to Get the list of Paired devices */ /spaion
 49 /a>#define
 50 /a>1
 51 /a> spai class="comment">/* Device Paired Notificaopti */ /spaion
 52 /a>#define
 a href="+code=REPORT_TYPE_NOTIF_DEVICE_PAIRED" class="sref">REPORT_TYPE_NOTIF_DEVICE_PAIRED /a>         0x411
 53 /a>#define
 a href="+code=SPFUNCTION_MORE_NOTIF_EXPECTED" class="sref">SPFUNCTION_MORE_NOTIF_EXPECTED /a>          0x011
 54 /a>#define
 a href="+code=SPFUNCTION_DEVICE_LIST_EMPTY" class="sref">SPFUNCTION_DEVICE_LIST_EMPTY /a>            0x021
 55 /a>#define
 a href="+code=DEVICE_PAIRED_PARAM_SPFUNCTION" class="sref">DEVICE_PAIRED_PARAM_SPFUNCTION /a>          0x001
 56 /a>#define
 a href="+code=DEVICE_PAIRED_PARAM_EQUAD_ID_LSB" class="sref">DEVICE_PAIRED_PARAM_EQUAD_ID_LSB /a>        0x011
 57 /a>#define
 a href="+code=DEVICE_PAIRED_PARAM_EQUAD_ID_MSB" class="sref">DEVICE_PAIRED_PARAM_EQUAD_ID_MSB /a>        0x021
 58 /a>#define
 a href="+code=DEVICE_PAIRED_RF_REPORT_TYPE" class="sref">DEVICE_PAIRED_RF_REPORT_TYPE /a>            0x031
 59 /a>1
 6.10a> spai class="comment">/* Device Un-Paired Notificaopti */ /spaion
 61 /a>#define
 62 /a>1
 63 /a>1
 64 /a> spai class="comment">/* Connecopti Status Notificaopti */ /spaion
 65 /a>#define
 66 /a>#define
 a href="+code=CONNECTION_STATUS_PARAM_STATUS" class="sref">CONNECTION_STATUS_PARAM_STATUS /a>          0x001
 67 /a>#define
 a href="+code=STATUS_LINKLOSS" class="sref">STATUS_LINKLOSS /a>                   
 68 /a>1
 69 /a> spai class="comment">/* Error Notificaopti */ /spaion
 70 /a>#define
 a href="+code=REPORT_TYPE_NOTIF_ERROR" class="sref">REPORT_TYPE_NOTIF_ERROR /a>                 0x7F1
 71 /a>#define
 a href="+code=NOTIF_ERROR_PARAM_ETYPE" class="sref">NOTIF_ERROR_PARAM_ETYPE /a>                 0x001
 72 /a>#define
 a href="+code=ETYPE_KEEPALIVE_TIMEOUT" class="sref">ETYPE_KEEPALIVE_TIMEOUT /a>                 0x011
 73 /a>1
 74 /a> spai class="comment">/* supported DJ HID && RF report typls */ /spaion
 75 /a>#define
 a href="+code=REPORT_TYPE_KEYBOARD" class="sref">REPORT_TYPE_KEYBOARD /a>                   
 76 /a>#define
 a href="+code=REPORT_TYPE_MOUSE" class="sref">REPORT_TYPE_MOUSE /a>                   
 77 /a>#define
 a href="+code=REPORT_TYPE_CONSUMER_CONTROL" class="sref">REPORT_TYPE_CONSUMER_CONTROL /a>            0x031
 78 /a>#define
 a href="+code=REPORT_TYPE_SYSTEM_CONTROL" class="sref">REPORT_TYPE_SYSTEM_CONTROL /a>              0x041
 79 /a>#define
 a href="+code=REPORT_TYPE_MEDIA_CENTER" class="sref">REPORT_TYPE_MEDIA_CENTER /a>                0x081
 80 /a>#define
 a href="+code=REPORT_TYPE_LEDS" class="sref">REPORT_TYPE_LEDS /a>                   
 81 /a>1
 82 /a> spai class="comment">/* RF Report typls bitfield */ /spaion
 83 /a>#define
 a href="+code=STD_KEYBOARD" class="sref">STD_KEYBOARD /a>                   
 84 /a>#define
 a href="+code=STD_MOUSE" class="sref">STD_MOUSE /a>                   
 85 /a>#define
 a href="+code=MULTIMEDIA" class="sref">MULTIMEDIA /a>                   
 86 /a>#define
 a href="+code=POWER_KEYS" class="sref">POWER_KEYS /a>                   
 87 /a>#define
 a href="+code=MEDIA_CENTER" class="sref">MEDIA_CENTER /a>                 
 88 /a>#define
 a href="+code=KBD_LEDS" class="sref">KBD_LEDS /a>                   
 89 /a>1
 90 /a>struct
 a href="+code=dj_report" class="sref">dj_report /a> {1
 91 /a>         a href="+code=u8" class="sref">u8 /a>  a href="+code=report_id" class="sref">report_id /a>;1
 92 /a>         a href="+code=u8" class="sref">u8 /a>  a href="+code=device_index" class="sref">device_index /a>;1
 93 /a>         a href="+code=u8" class="sref">u8 /a>  a href="+code=report_typl" class="sref">report_typl /a>;1
 94 /a>         a href="+code=u8" class="sref">u8 /a>  a href="+code=report_params" class="sref">report_params /a>[ a href="+code=DJREPORT_SHORT_LENGTH" class="sref">DJREPORT_SHORT_LENGTH /a> - 3];1
 95 /a>};1
 96 /a>1
 97 /a>struct
 a href="+code=dj_receiver_dev" class="sref">dj_receiver_dev /a> {1
 98 /a>        struct
 a href="+code=hid_device" class="sref">hid_device /a> * a href="+code=hdev" class="sref">hdev /a>;1
 99 /a>        struct
 a href="+code=dj_device" class="sref">dj_device /a> * a href="+code=paired_dj_devices" class="sref">paired_dj_devices /a>[ a href="+code=DJ_MAX_PAIRED_DEVICES" class="sref">DJ_MAX_PAIRED_DEVICES /a> +1
100 /a>                   
                         a href="+code=DJ_DEVICE_INDEX_MIN" class="sref">DJ_DEVICE_INDEX_MIN /a>];1
101 /a>        struct
 a href="+code=work_struct" class="sref">work_struct /a>  a href="+code=work" class="sref">work /a>;1
102 /a>        struct
 a href="+code=kfifo" class="sref">kfifo /a>  a href="+code=notif_fifo" class="sref">notif_fifo /a>;1
103 /a>         a href="+code=spinlock_t" class="sref">spinlock_t /a>  a href="+code=lock" class="sref">lock /a>;1
104 /a>         a href="+code=bool" class="sref">bool /a>  a href="+code=querying_devices" class="sref">querying_devices /a>;1
105 /a>};1
106 /a>1
107 /a>struct
 a href="+code=dj_device" class="sref">dj_device /a> {1
108 /a>        struct
 a href="+code=hid_device" class="sref">hid_device /a> * a href="+code=hdev" class="sref">hdev /a>;1
109 /a>        struct
 a href="+code=dj_receiver_dev" class="sref">dj_receiver_dev /a> * a href="+code=dj_receiver_dev" class="sref">dj_receiver_dev /a>;1
110 /a>         a href="+code=u32" class="sref">u32 /a>  a href="+code=reports_supported" class="sref">reports_supported /a>;1
111 /a>         a href="+code=u8" class="sref">u8 /a>  a href="+code=device_index" class="sref">device_index /a>;1
112 /a>};1
113 /a>1
114 /a> spai class="comment">/** /spaion
115 /a> spai class="comment"> * is_dj_device - know if the given dj_device is not the receiver. /spaion
116 /a> spai class="comment"> * @dj_dev: the dj device to test /spaion
117 /a> spai class="comment"> * /spaion
118 /a> spai class="comment"> * This macro tests if a struct
dj_device pointer is a device created /spaion
119 /a> spai class="comment"> * by the bus enumarator. /spaion
12.10a> spai class="comment"> */ /spaion
121 /a>#define
 a href="+code=is_dj_device" class="sref">is_dj_device /a>( a href="+code=dj_dev" class="sref">dj_dev /a>) \n
122 /a>        (&( a href="+code=dj_dev" class="sref">dj_dev /a>)-> a href="+code=dj_receiver_dev" class="sref">dj_receiver_dev /a>-> a href="+code=hdev" class="sref">hdev /a>-> a href="+code=dev" class="sref">dev /a> == ( a href="+code=dj_dev" class="sref">dj_dev /a>)-> a href="+code=hdev" class="sref">hdev /a>-> a href="+code=dev" class="sref">dev /a>. a href="+code=parent" class="sref">parent /a>)n
123 /a>1
124 /a>#endif1
125 /a>
The original LXR software by the LXR community /a>, this experimental versptioby /a>. /divon div class="subfooter"> kindly hosted by Redpill Linpro AS /a>, provider of Linux consulting and operaoptis services since 1995. /divon /bodyon /htmlon