diff options
author | Kay Sievers <kay.sievers@vrfy.org> | 2009-07-22 01:03:33 +0200 |
---|---|---|
committer | Kay Sievers <kay.sievers@vrfy.org> | 2009-07-22 01:03:33 +0200 |
commit | 9821e7026401553e9ccba124afd9408a83007ba6 (patch) | |
tree | 05e96d3c480cb978484ba2c2ff263978b15d80bb /extras/hid2hci | |
parent | 5bacd2aadc854a0c01934bab76d4f575543d361e (diff) |
hid2hci: remove hid structures and include kernel header
Diffstat (limited to 'extras/hid2hci')
-rw-r--r-- | extras/hid2hci/hid2hci.c | 82 |
1 files changed, 16 insertions, 66 deletions
diff --git a/extras/hid2hci/hid2hci.c b/extras/hid2hci/hid2hci.c index 469f8709ea..10beb61c36 100644 --- a/extras/hid2hci/hid2hci.c +++ b/extras/hid2hci/hid2hci.c @@ -22,10 +22,6 @@ * */ -#ifdef HAVE_CONFIG_H -#include <config.h> -#endif - #include <stdio.h> #include <errno.h> #include <fcntl.h> @@ -33,57 +29,11 @@ #include <string.h> #include <getopt.h> #include <sys/ioctl.h> - +#include <linux/hiddev.h> #include <usb.h> -#ifdef NEED_USB_GET_BUSSES -static inline struct usb_bus *usb_get_busses(void) -{ - return usb_busses; -} -#endif - -#ifndef USB_DIR_OUT -#define USB_DIR_OUT 0x00 -#endif - static char devpath[PATH_MAX + 1] = "/dev"; -struct hiddev_devinfo { - unsigned int bustype; - unsigned int busnum; - unsigned int devnum; - unsigned int ifnum; - short vendor; - short product; - short version; - unsigned num_applications; -}; - -struct hiddev_report_info { - unsigned report_type; - unsigned report_id; - unsigned num_fields; -}; - -typedef __signed__ int __s32; - -struct hiddev_usage_ref { - unsigned report_type; - unsigned report_id; - unsigned field_index; - unsigned usage_index; - unsigned usage_code; - __s32 value; -}; - -#define HIDIOCGDEVINFO _IOR('H', 0x03, struct hiddev_devinfo) -#define HIDIOCINITREPORT _IO('H', 0x05) -#define HIDIOCSREPORT _IOW('H', 0x08, struct hiddev_report_info) -#define HIDIOCSUSAGE _IOW('H', 0x0C, struct hiddev_usage_ref) - -#define HID_REPORT_TYPE_OUTPUT 2 - #define HCI 0 #define HID 1 @@ -103,8 +53,9 @@ static int switch_csr(struct device_info *devinfo) if (!udev) return -errno; - err = usb_control_msg(udev, USB_DIR_OUT | USB_TYPE_VENDOR | USB_RECIP_DEVICE, - 0, devinfo->mode, 0, NULL, 0, 10000); + err = usb_control_msg(udev, + USB_ENDPOINT_OUT | USB_TYPE_VENDOR | USB_RECIP_DEVICE, + 0, devinfo->mode, 0, NULL, 0, 10000); if (err == 0) { err = -1; @@ -325,25 +276,24 @@ static void usage(char* error) exit(1); } -static const struct option main_options[] = { - { "help", no_argument, 0, 'h' }, - { "quiet", no_argument, 0, 'q' }, - { "mode", required_argument, 0, 'r' }, - { "vendor", required_argument, 0, 'v' }, - { "product", required_argument, 0, 'p' }, - { "method", required_argument, 0, 'm' }, - { "resuscitate",required_argument, 0, 's' }, - { 0, 0, 0, 0 } -}; - int main(int argc, char *argv[]) { + static const struct option options[] = { + { "help", no_argument, NULL, 'h' }, + { "quiet", no_argument, NULL, 'q' }, + { "mode", required_argument, NULL, 'r' }, + { "vendor", required_argument, NULL, 'v' }, + { "product", required_argument, NULL, 'p' }, + { "method", required_argument, NULL, 'm' }, + { "resuscitate", required_argument, NULL, 's' }, + { } + }; struct device_info dev = { NULL, HCI, 0, 0 }; int opt, quiet = 0; int (*method)(struct device_info *dev) = NULL; uint8_t resuscitate = 0; - while ((opt = getopt_long(argc, argv, "+s:r:v:p:m:qh", main_options, NULL)) != -1) { + while ((opt = getopt_long(argc, argv, "+s:r:v:p:m:qh", options, NULL)) != -1) { switch (opt) { case 'r': if (optarg && !strcmp(optarg, "hid")) @@ -378,7 +328,7 @@ int main(int argc, char *argv[]) case 'h': usage(NULL); default: - exit(0); + exit(1); } } |