1 /* 2 * This file is auto-generated. Modifications will be lost. 3 * 4 * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/ 5 * for more information. 6 */ 7 #ifndef _UAPI_LINUX_USBDEVICE_FS_H 8 #define _UAPI_LINUX_USBDEVICE_FS_H 9 #include <linux/types.h> 10 #include <linux/magic.h> 11 struct usbdevfs_ctrltransfer { 12 __u8 bRequestType; 13 __u8 bRequest; 14 __u16 wValue; 15 __u16 wIndex; 16 __u16 wLength; 17 __u32 timeout; 18 void * data; 19 }; 20 struct usbdevfs_bulktransfer { 21 unsigned int ep; 22 unsigned int len; 23 unsigned int timeout; 24 void * data; 25 }; 26 struct usbdevfs_setinterface { 27 unsigned int interface; 28 unsigned int altsetting; 29 }; 30 struct usbdevfs_disconnectsignal { 31 unsigned int signr; 32 void * context; 33 }; 34 #define USBDEVFS_MAXDRIVERNAME 255 35 struct usbdevfs_getdriver { 36 unsigned int interface; 37 char driver[USBDEVFS_MAXDRIVERNAME + 1]; 38 }; 39 struct usbdevfs_connectinfo { 40 unsigned int devnum; 41 unsigned char slow; 42 }; 43 struct usbdevfs_conninfo_ex { 44 __u32 size; 45 __u32 busnum; 46 __u32 devnum; 47 __u32 speed; 48 __u8 num_ports; 49 __u8 ports[7]; 50 }; 51 #define USBDEVFS_URB_SHORT_NOT_OK 0x01 52 #define USBDEVFS_URB_ISO_ASAP 0x02 53 #define USBDEVFS_URB_BULK_CONTINUATION 0x04 54 #define USBDEVFS_URB_NO_FSBR 0x20 55 #define USBDEVFS_URB_ZERO_PACKET 0x40 56 #define USBDEVFS_URB_NO_INTERRUPT 0x80 57 #define USBDEVFS_URB_TYPE_ISO 0 58 #define USBDEVFS_URB_TYPE_INTERRUPT 1 59 #define USBDEVFS_URB_TYPE_CONTROL 2 60 #define USBDEVFS_URB_TYPE_BULK 3 61 struct usbdevfs_iso_packet_desc { 62 unsigned int length; 63 unsigned int actual_length; 64 unsigned int status; 65 }; 66 struct usbdevfs_urb { 67 unsigned char type; 68 unsigned char endpoint; 69 int status; 70 unsigned int flags; 71 void * buffer; 72 int buffer_length; 73 int actual_length; 74 int start_frame; 75 union { 76 int number_of_packets; 77 unsigned int stream_id; 78 }; 79 int error_count; 80 unsigned int signr; 81 void * usercontext; 82 struct usbdevfs_iso_packet_desc iso_frame_desc[]; 83 }; 84 struct usbdevfs_ioctl { 85 int ifno; 86 int ioctl_code; 87 void * data; 88 }; 89 struct usbdevfs_hub_portinfo { 90 char nports; 91 char port[127]; 92 }; 93 #define USBDEVFS_CAP_ZERO_PACKET 0x01 94 #define USBDEVFS_CAP_BULK_CONTINUATION 0x02 95 #define USBDEVFS_CAP_NO_PACKET_SIZE_LIM 0x04 96 #define USBDEVFS_CAP_BULK_SCATTER_GATHER 0x08 97 #define USBDEVFS_CAP_REAP_AFTER_DISCONNECT 0x10 98 #define USBDEVFS_CAP_MMAP 0x20 99 #define USBDEVFS_CAP_DROP_PRIVILEGES 0x40 100 #define USBDEVFS_CAP_CONNINFO_EX 0x80 101 #define USBDEVFS_CAP_SUSPEND 0x100 102 #define USBDEVFS_DISCONNECT_CLAIM_IF_DRIVER 0x01 103 #define USBDEVFS_DISCONNECT_CLAIM_EXCEPT_DRIVER 0x02 104 struct usbdevfs_disconnect_claim { 105 unsigned int interface; 106 unsigned int flags; 107 char driver[USBDEVFS_MAXDRIVERNAME + 1]; 108 }; 109 struct usbdevfs_streams { 110 unsigned int num_streams; 111 unsigned int num_eps; 112 unsigned char eps[]; 113 }; 114 #define USBDEVFS_CONTROL _IOWR('U', 0, struct usbdevfs_ctrltransfer) 115 #define USBDEVFS_CONTROL32 _IOWR('U', 0, struct usbdevfs_ctrltransfer32) 116 #define USBDEVFS_BULK _IOWR('U', 2, struct usbdevfs_bulktransfer) 117 #define USBDEVFS_BULK32 _IOWR('U', 2, struct usbdevfs_bulktransfer32) 118 #define USBDEVFS_RESETEP _IOR('U', 3, unsigned int) 119 #define USBDEVFS_SETINTERFACE _IOR('U', 4, struct usbdevfs_setinterface) 120 #define USBDEVFS_SETCONFIGURATION _IOR('U', 5, unsigned int) 121 #define USBDEVFS_GETDRIVER _IOW('U', 8, struct usbdevfs_getdriver) 122 #define USBDEVFS_SUBMITURB _IOR('U', 10, struct usbdevfs_urb) 123 #define USBDEVFS_SUBMITURB32 _IOR('U', 10, struct usbdevfs_urb32) 124 #define USBDEVFS_DISCARDURB _IO('U', 11) 125 #define USBDEVFS_REAPURB _IOW('U', 12, void *) 126 #define USBDEVFS_REAPURB32 _IOW('U', 12, __u32) 127 #define USBDEVFS_REAPURBNDELAY _IOW('U', 13, void *) 128 #define USBDEVFS_REAPURBNDELAY32 _IOW('U', 13, __u32) 129 #define USBDEVFS_DISCSIGNAL _IOR('U', 14, struct usbdevfs_disconnectsignal) 130 #define USBDEVFS_DISCSIGNAL32 _IOR('U', 14, struct usbdevfs_disconnectsignal32) 131 #define USBDEVFS_CLAIMINTERFACE _IOR('U', 15, unsigned int) 132 #define USBDEVFS_RELEASEINTERFACE _IOR('U', 16, unsigned int) 133 #define USBDEVFS_CONNECTINFO _IOW('U', 17, struct usbdevfs_connectinfo) 134 #define USBDEVFS_IOCTL _IOWR('U', 18, struct usbdevfs_ioctl) 135 #define USBDEVFS_IOCTL32 _IOWR('U', 18, struct usbdevfs_ioctl32) 136 #define USBDEVFS_HUB_PORTINFO _IOR('U', 19, struct usbdevfs_hub_portinfo) 137 #define USBDEVFS_RESET _IO('U', 20) 138 #define USBDEVFS_CLEAR_HALT _IOR('U', 21, unsigned int) 139 #define USBDEVFS_DISCONNECT _IO('U', 22) 140 #define USBDEVFS_CONNECT _IO('U', 23) 141 #define USBDEVFS_CLAIM_PORT _IOR('U', 24, unsigned int) 142 #define USBDEVFS_RELEASE_PORT _IOR('U', 25, unsigned int) 143 #define USBDEVFS_GET_CAPABILITIES _IOR('U', 26, __u32) 144 #define USBDEVFS_DISCONNECT_CLAIM _IOR('U', 27, struct usbdevfs_disconnect_claim) 145 #define USBDEVFS_ALLOC_STREAMS _IOR('U', 28, struct usbdevfs_streams) 146 #define USBDEVFS_FREE_STREAMS _IOR('U', 29, struct usbdevfs_streams) 147 #define USBDEVFS_DROP_PRIVILEGES _IOW('U', 30, __u32) 148 #define USBDEVFS_GET_SPEED _IO('U', 31) 149 #define USBDEVFS_CONNINFO_EX(len) _IOC(_IOC_READ, 'U', 32, len) 150 #define USBDEVFS_FORBID_SUSPEND _IO('U', 33) 151 #define USBDEVFS_ALLOW_SUSPEND _IO('U', 34) 152 #define USBDEVFS_WAIT_FOR_RESUME _IO('U', 35) 153 #endif 154