blob: 4fd6513d564c7ccb1362d73a1aa45ba4ee05baaf [file] [log] [blame]
Robert P. J. Daydda43a02008-03-07 13:45:32 -05001#ifndef __LINUX_USB_IOWARRIOR_H
2#define __LINUX_USB_IOWARRIOR_H
Greg Kroah-Hartman946b9602007-02-14 13:40:14 -08003
4#define CODEMERCS_MAGIC_NUMBER 0xC0 /* like COde Mercenaries */
5
6/* Define the ioctl commands for reading and writing data */
7#define IOW_WRITE _IOW(CODEMERCS_MAGIC_NUMBER, 1, __u8 *)
8#define IOW_READ _IOW(CODEMERCS_MAGIC_NUMBER, 2, __u8 *)
9
10/*
11 A struct for available device info which is read
12 with the ioctl IOW_GETINFO.
13 To be compatible with 2.4 userspace which didn't have an easy way to get
14 this information.
15*/
16struct iowarrior_info {
Greg Kroah-Hartman41dceed2008-01-30 15:21:33 -080017 /* vendor id : supposed to be USB_VENDOR_ID_CODEMERCS in all cases */
18 __u32 vendor;
19 /* product id : depends on type of chip (USB_DEVICE_ID_CODEMERCS_X) */
20 __u32 product;
21 /* the serial number of our chip (if a serial-number is not available
22 * this is empty string) */
23 __u8 serial[9];
24 /* revision number of the chip */
25 __u32 revision;
26 /* USB-speed of the device (0=UNKNOWN, 1=LOW, 2=FULL 3=HIGH) */
27 __u32 speed;
28 /* power consumption of the device in mA */
29 __u32 power;
30 /* the number of the endpoint */
31 __u32 if_num;
32 /* size of the data-packets on this interface */
33 __u32 report_size;
Greg Kroah-Hartman946b9602007-02-14 13:40:14 -080034};
35
36/*
37 Get some device-information (product-id , serial-number etc.)
38 in order to identify a chip.
39*/
40#define IOW_GETINFO _IOR(CODEMERCS_MAGIC_NUMBER, 3, struct iowarrior_info)
41
Robert P. J. Daydda43a02008-03-07 13:45:32 -050042#endif /* __LINUX_USB_IOWARRIOR_H */