44 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			44 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /* SPDX-License-Identifier: GPL-2.0 */
 | |
| #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 */
 |