iowarrior.h 1.3 KB

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