Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 */
0002 #ifndef __LINUX_USB_IOWARRIOR_H
0003 #define __LINUX_USB_IOWARRIOR_H
0004 
0005 #define CODEMERCS_MAGIC_NUMBER  0xC0    /* like COde Mercenaries */
0006 
0007 /* Define the ioctl commands for reading and writing data */
0008 #define IOW_WRITE   _IOW(CODEMERCS_MAGIC_NUMBER, 1, __u8 *)
0009 #define IOW_READ    _IOW(CODEMERCS_MAGIC_NUMBER, 2, __u8 *)
0010 
0011 /*
0012    A struct for available device info which is read
0013    with the ioctl IOW_GETINFO.
0014    To be compatible with 2.4 userspace which didn't have an easy way to get
0015    this information.
0016 */
0017 struct iowarrior_info {
0018     /* vendor id : supposed to be USB_VENDOR_ID_CODEMERCS in all cases */
0019     __u32 vendor;
0020     /* product id : depends on type of chip (USB_DEVICE_ID_CODEMERCS_X) */
0021     __u32 product;
0022     /* the serial number of our chip (if a serial-number is not available
0023      * this is empty string) */
0024     __u8 serial[9];
0025     /* revision number of the chip */
0026     __u32 revision;
0027     /* USB-speed of the device (0=UNKNOWN, 1=LOW, 2=FULL 3=HIGH) */
0028     __u32 speed;
0029     /* power consumption of the device in mA */
0030     __u32 power;
0031     /* the number of the endpoint */
0032     __u32 if_num;
0033     /* size of the data-packets on this interface */
0034     __u32 report_size;
0035 };
0036 
0037 /*
0038   Get some device-information (product-id , serial-number etc.)
0039   in order to identify a chip.
0040 */
0041 #define IOW_GETINFO _IOR(CODEMERCS_MAGIC_NUMBER, 3, struct iowarrior_info)
0042 
0043 #endif /* __LINUX_USB_IOWARRIOR_H */