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