43 lines
1.3 KiB
C
43 lines
1.3 KiB
C
|
#ifndef __LINUX_USB_IOWARRIOR_H
|
||
|
#define __LINUX_USB_IOWARRIOR_H
|
||
|
|
||
|
#define CODEMERCS_MAGIC_NUMBER 0xC0 /* like COde Mercenaries */
|
||
|
|
||
|
/* Define the ioctl commands for reading and writing data */
|
||
|
#define IOW_WRITE _IOW(CODEMERCS_MAGIC_NUMBER, 1, __u8 *)
|
||
|
#define IOW_READ _IOW(CODEMERCS_MAGIC_NUMBER, 2, __u8 *)
|
||
|
|
||
|
/*
|
||
|
A struct for available device info which is read
|
||
|
with the ioctl IOW_GETINFO.
|
||
|
To be compatible with 2.4 userspace which didn't have an easy way to get
|
||
|
this information.
|
||
|
*/
|
||
|
struct iowarrior_info {
|
||
|
/* vendor id : supposed to be USB_VENDOR_ID_CODEMERCS in all cases */
|
||
|
__u32 vendor;
|
||
|
/* product id : depends on type of chip (USB_DEVICE_ID_CODEMERCS_X) */
|
||
|
__u32 product;
|
||
|
/* the serial number of our chip (if a serial-number is not available
|
||
|
* this is empty string) */
|
||
|
__u8 serial[9];
|
||
|
/* revision number of the chip */
|
||
|
__u32 revision;
|
||
|
/* USB-speed of the device (0=UNKNOWN, 1=LOW, 2=FULL 3=HIGH) */
|
||
|
__u32 speed;
|
||
|
/* power consumption of the device in mA */
|
||
|
__u32 power;
|
||
|
/* the number of the endpoint */
|
||
|
__u32 if_num;
|
||
|
/* size of the data-packets on this interface */
|
||
|
__u32 report_size;
|
||
|
};
|
||
|
|
||
|
/*
|
||
|
Get some device-information (product-id , serial-number etc.)
|
||
|
in order to identify a chip.
|
||
|
*/
|
||
|
#define IOW_GETINFO _IOR(CODEMERCS_MAGIC_NUMBER, 3, struct iowarrior_info)
|
||
|
|
||
|
#endif /* __LINUX_USB_IOWARRIOR_H */
|